SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx

上传人:b****5 文档编号:21014369 上传时间:2023-01-26 格式:DOCX 页数:12 大小:396.53KB
下载 相关 举报
SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx_第1页
第1页 / 共12页
SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx_第2页
第2页 / 共12页
SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx_第3页
第3页 / 共12页
SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx_第4页
第4页 / 共12页
SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx

《SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx》由会员分享,可在线阅读,更多相关《SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx(12页珍藏版)》请在冰豆网上搜索。

SAPBADI屏幕增强实例MBMIGOBADIWord格式.docx

MOVE-CORRESPONDING 

zjim_badi_exampl 

TO 

es_migo_badi_screen_fields.

Second 

GOITEM-fields 

(displayed 

on 

screen)

function:

ZJIM_BADI_EXAMPLE_PUT_DATA

IMPORTING

REFERENCE(IS_MIGO_BADI_SCREEN_FIELDS) 

Put 

to 

fill 

is_migo_badi_screen_fields 

ZJIM_badi_exampl.

second 

ZJIM_BADI_EXAMPLE_UPDATE_DATA

Update 

function 

module:

TABLES

IT_MIGO_BADI_EXAMPLE 

STRUCTURE 

ZJIM_BADI_EXAMPL

Databse 

update:

INSERT 

zjim_BADI_EXAMPL 

FROM 

TABLE 

IT_MIGO_BADI_EXAMPLE.

IF 

sy-subrc 

<

>

0.

MESSAGE 

a398(00) 

WITH 

'

Error 

update 

MIGO_BADI_EXAMPL'

.

ENDIF.

INCLUDE:

LZJIM_BADI001TOP

TABLES 

:

Zjim_badi_exampl.

到这里增强的准备工作就做完了,下面开始创建实现:

5、SE19创建实现

6、创建执行类ZCL_IM_JIM_MIGO_BADI,激活ZJIM_MIGO_BADI

双击类

维护类属性

GT_EXTDATA用于数据交换,类型为ZJIM_TY_T_EXTDATA表类型,

7、激活以下方法并维护:

method 

IF_EX_MB_MIGO_BADI~INIT.

Regristration 

BAdI-Implementation:

Append 

class 

attribute 

GF_CLASS_ID 

(='

MIGO_BADI_IMPLEMENTATION1'

) 

to

regristration 

table.

APPEND 

gf_class_id 

ct_init.

endmethod.

METHOD 

IF_EX_MB_MIGO_BADI~PBO_DETAIL 

DATA:

ls_extdata 

TYPE 

zjim_badi_example_screen_field.

This 

check 

is 

obligatory, 

otherwise 

the 

program 

flow 

incorrect

(If 

there 

would 

be 

more 

than 

one 

implementation 

BAdI 

MB_MIGO_BADI,

only 

subscreen 

displayed).

CHECK 

i_class_id 

gf_class_id.

Show 

screen 

if 

an 

item

i_line_id 

External 

subscreen:

The 

content 

global 

field 

G_NO_INPUT 

(set 

in 

MODE_SET) 

will

influence 

number 

subsreen:

g_no_input 

initial.

e_cprog 

SAPLZJIM_BADI001'

(006)."

程序名为定义的函数组的名称前加“SAPL“。

e_dynnr 

1000'

"

fields:

Input

e_heading 

ZJIM'

(004)."

显示标签的名称

endif.

Set 

G_LINE_ID 

(= 

line_id 

item 

displayed 

detail-tabstrip)

g_line_id 

i_line_id.

Read 

data

READ 

gt_extdata 

INTO 

ls_extdata

KEY 

Export 

group 

(for 

display 

subscreen)

CALL 

FUNCTION 

ZJIM_BADI_EXAMPLE_PUT_DATA'

ls_extdata.

ENDMETHOD. 

IF_EX_MB_MIGO_BADI~PBO_DETAIL

IF_EX_MB_MIGO_BADI~PAI_DETAIL 

*-----------------------------------------------------------------------

Changing 

parameter 

E_FORCE_CHANGE 

can 

set 

X'

In 

this 

case

LINE_MODIFY 

called.

ATTENTION:

DO 

NOT 

SET 

case 

you 

might

overwrite 

another 

implementation.

ls_extdata_new 

zjim_badi_example_screen_field,

ls_extdata_old 

Only 

line 

exists

ZJIM_BADI_EXAMPLE_GET_DATA'

es_migo_badi_screen_fields 

ls_extdata_new.

Compare 

new 

with 

old 

ls_extdata_old

ls_extdata_new-line_id 

If 

were 

any 

changes, 

it'

obligatory 

force 

MIGO 

trigger

LINE_MODIFY.

e_force_change 

IF_EX_MB_MIGO_BADI~PAI_DETAIL

IF_EX_MB_MIGO_BADI~LINE_MODIFY 

ls_migo_badi_exampl 

zjim_badi_exampl,

l_subrc 

sy-subrc.

internal 

table:

Line 

new:

GOITEM 

has 

reference 

material 

document,

already 

existing 

read.

cs_goitem-mblnr 

IS 

INITIAL 

AND 

cs_goitem-mjahr 

INITIAL

cs_goitem-zeile 

INITIAL.

SELECT 

SINGLE 

ls_migo_badi_exampl

WHERE 

mblnr 

cs_goitem-mblnr

mjahr 

cs_goitem-mjahr

zeile 

cs_goitem-zeile.

ls_extdata_new-sgtxt 

cs_goitem-sgtxt.

gt_extdata.

ELSE.

exists:

entered 

BAdI-subscreeen, 

but 

only

line_modify 

was 

called 

for 

the

detail 

tabstrip'

ls_extdata_old-sgtxt.

** 

Field 

changed 

cs_goitem-sgtxt 

ls_extdata_new-sgtxt.

else.

Take 

GOITEM

MODIFY 

IF_EX_MB_MIGO_BADI~LINE_MODIFY

IF_EX_MB_MIGO_BADI~LINE_DELETE 

DELETE 

IF_EX_MB_MIGO_BADI~LINE_DELETE

IF_EX_MB_MIGO_BADI~POST_DOCUMENT 

ls_migo_badi_example 

ZJIM_badi_exampl,

lt_migo_badi_example 

OF 

ls_xmseg 

mseg.

FIELD-SYMBOLS:

gt_extdata>

migo_badi_example_screen_field.

Transaction 

will 

now 

post 

document.

Any 

errors 

here 

MUST 

issued 

as 

A-message 

(better:

X-message)

Copy 

document 

into 

table

LOOP 

AT 

g_cancel 

it_mseg 

ls_xmseg

ls_extdata-line_id.

smbln 

ls_extdata-mblnr

smblp 

ls_extdata-zeile

sjahr 

ls_extdata-mjahr.

ls_migo_badi_example.

lt_migo_badi_example.

ENDLOOP.

saved 

now:

ZJIM_BADI_EXAMPLE_UPATE_DATA'

IN 

UPDATE 

TASK

it_migo_badi_example 

header 

is_mkpf 

gs_exdata_header.

MIGO_BADI_EXAMPLE_UPDATE_HEAD'

is_migo_badi_header_fields 

IF_EX_MB_MIGO_BADI~POST_DOCUMENT

IF_EX_MB_MIGO_BADI~RESET 

Clear 

data:

CLEAR:

gt_extdata,

g_no_input,

gs_exdata_header,

g_cancel,

g_line_id.

IF_EX_MB_MIGO_BADI~RESET

激活所有,运行T_codeMIGO就可以看到第一个图的效果了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1