MIGO Ek Alan (Başlık)
CL_EXM_IM_MB_MIGO_BADI
1- mblnr ve mjahr key alanlı ve Z`li
alanları içeren yeni bir tablo ve structure.
Structure veri transferi için kullanılacak, bilgi amaçlı alanlar da ilave edilebilir.
2- Se38`den Modül havuzu ve sub-screen oluşturulmalı. 9001 Görüntüleme, 9002 düzenleme ekranı.
Screen objeleri için global değişken tanımlanmalıdır.
DATA: GS_EK1 TYPE ZTR_S_MIGO_EK1.
9001 ve 9002 screenleri için PBO ve PAI modüllerine ihtiyaç duyulursa kullanılabilir.
Ek alanlar screene eklenir.
ZTR_MIGO_EK1_GET_HEADER
FUNCTION ZTR_MIGO_EK1_GET_HEADER .
*"----------------------------------------------------------------------
*"*"Local Interface:
*" EXPORTING
*" VALUE(E_EK1) TYPE ZTR_S_MIGO_EK1
*"----------------------------------------------------------------------
MOVE-CORRESPONDING GS_EK1 TO E_EK1.
ENDFUNCTION.
FUNCTION ZTR_MIGO_EK1_PUT_HEADER .
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_EK1) TYPE ZTR_S_MIGO_EK1 OPTIONAL
*"----------------------------------------------------------------------
MOVE-CORRESPONDING I_EK1 TO GS_EK1.
ENDFUNCTION.
FUNCTION ZTR_MIGO_EK1_UPDATE_HEADER .
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_EK1) TYPE ZTR_S_MIGO_EK1 OPTIONAL
*"----------------------------------------------------------------------
data: LS_EKALAN type ZTR_MIGO_HEADER.
move-corresponding I_EK1 to LS_EKALAN.
INSERT ZTR_MIGO_HEADER FROM LS_EKALAN.
IF sy-subrc <> 0.
MESSAGE a398(00) WITH `Badi hata ZTR_MIGO_EKALAN_001`.
ENDIF.
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}.L0S52 {
color: #0000FF;
}SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}.L0S52 {
color: #0000FF;
}
ENDFUNCTION.
3- SE18`dan MB_MIGO_BADI için implement oluşturulmalı.
4- Badi Class`ı içinde global değişkenler tanımlanmalı
MB_MIGO_BADI`si birden fazla impelement edilebilir. Çakışmaları önlemek için GEK1_CLASS_ID sabiti enhancement adı ile kontrol edilebilir.
GEK1_DISPLAY alanı görüntüleme/değiştirme modu için kullanılacaktır.
Methodlar arasında veri transferi olmadığı için diğer özellikler class içinde global değişken olarak tanımlanmalıdır.
GEK1_CLASS_ID Constant Private Type MIGO_CLASS_ID `ZTR_MIGO_EKALAN_001`
GEK1_DISPLAY Instance Attribute Private Type XFELD
GEK1_ACTION Instance Attribute Private Type GOACTION
GEK1_REFDOC Instance Attribute Private Type REFDOC
GEK1_HEADER Instance Attribute Private Type ZTR_S_MIGO_EK1
GS_GOHEAD Instance Attribute Private Type GOHEAD
GEK1_ACTION ve GEK1_REFDOC alanlarının MIGO ekranındaki değerleri
* i_action:
* A01 = Goods receipt
* A02 = Return delivery
* A03 = Cancellation
* A04 = Display
* A05 = Release GR bl.st.
* A06 = Subsequent deliv.
* A07 = Goods issue
*
* i_refdoc:
* R01 = Purchase order
* R02 = Material document
* R03 = Delivery note
* R04 = Inbound delivery
* R05 = Outbound delivery
* R06 = Transport
* R07 = Transport ID code
* R08 = Order
* R09 = Reservation
* R10 = Other GR
5- Badi Class`taki methodlar
güncellenmeli
method IF_EX_MB_MIGO_BADI~INIT.
append gek1_class_id to ct_init.
endmethod.
method IF_EX_MB_MIGO_BADI~MODE_SET.
IF i_action = `A04` .
gek1_display = `X`.
ENDIF.
gek1_action = i_action.
gek1_refdoc = i_refdoc.
endmethod.
method IF_EX_MB_MIGO_BADI~PAI_HEADER.
call function `ZTR_MIGO_EK1_GET_HEADER`
IMPORTING
E_EK1 = gek1_header
.
endmethod.
method IF_EX_MB_MIGO_BADI~PBO_HEADER.
case i_class_id.
when gek1_class_id.
E_CPROG = `SAPLZTR_MIGO_EK1`.
E_HEADING = text-901. "Ek Alan
case gek1_display.
when `X`. E_DYNNR = `9001`.
when ``. E_DYNNR = `9002`.
endcase.
call function `ZTR_MIGO_EK1_PUT_HEADER`
EXPORTING
I_EK1 = gek1_header .
endcase.
endmethod.
method IF_EX_MB_MIGO_BADI~POST_DOCUMENT.
call function `ZTR_MIGO_EK1_UPDATE_HEADER`
EXPORTING
I_EK1 = gek1_header
.
endmethod.
method IF_EX_MB_MIGO_BADI~RESET.
clear: gek1_display,
gek1_header.
endmethod.
method IF_EX_MB_MIGO_BADI~STATUS_AND_HEADER.
GS_GOHEAD = IS_GOHEAD.
* Görüntüleme modunda önceki verileri yükleme
select single * into corresponding fields of gek1_header
from ZTR_MIGO_HEADER
where mblnr = IS_GOHEAD-mblnr
and mjahr = IS_GOHEAD-mjahr .
endmethod.
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}.L0S52 {
color: #0000FF;
}SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}.L0S33 {
color: #4DA619;
}.L0S52 {
color: #0000FF;
}