MIGO供应商批次增强Word格式.docx

上传人:b****6 文档编号:18998571 上传时间:2023-01-02 格式:DOCX 页数:14 大小:469.32KB
下载 相关 举报
MIGO供应商批次增强Word格式.docx_第1页
第1页 / 共14页
MIGO供应商批次增强Word格式.docx_第2页
第2页 / 共14页
MIGO供应商批次增强Word格式.docx_第3页
第3页 / 共14页
MIGO供应商批次增强Word格式.docx_第4页
第4页 / 共14页
MIGO供应商批次增强Word格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

MIGO供应商批次增强Word格式.docx

《MIGO供应商批次增强Word格式.docx》由会员分享,可在线阅读,更多相关《MIGO供应商批次增强Word格式.docx(14页珍藏版)》请在冰豆网上搜索。

MIGO供应商批次增强Word格式.docx

创建屏幕1000,

设计格式,插入供应商批次字段

创建function:

zmigo_103_get_data

FUNCTION 

zmigo_103_get_data.

*"

----------------------------------------------------------------------

Local 

interface:

 

EXPORTING

VALUE(ES_MIGO_BADI_SCREEN_FIELDS) 

TYPE 

ZSMIGO_103

Get 

all 

data 

from 

fields 

of 

external 

screen

First 

move 

customer-fields

MOVE-CORRESPONDING 

zmigo_103 

TO 

es_migo_badi_screen_fields..

ENDFUNCTION.

function:

ZMIGO_103_PUT_DATA

ZMIGO_103_PUT_DATA.

IMPORTING

VALUE(IS_MIGO_BADI_SCREEN_FIELDS) 

ZSMIGO_103 

OPTIONAL

Put 

to 

fill 

is_migo_badi_screen_fields 

ZMIGO_103.

ZMIGO_103_UPDATE_DATA

zmigo_103_update_data.

TABLES

IT_MIGO_BADI_EXAMPLE 

STRUCTURE 

ZMIGO_103 

INSERT 

FROM 

TABLE 

it_migo_badi_example.

IF 

sy-subrc 

<

>

0.

MESSAGE 

a398(00) 

WITH 

'

收货批次更新失败 

.

ENDIF.

5、SE19创建实现

6、创建执行类ZCL_IM_103_MIGO_BADI,激活Z103_MIGO_BADI

双击类

维护类属性

维护下列方法,激活所有,运行T_codeMIGO就可以看到第一个图的效果了。

在创建执行类的时候所有方法里面会对应生成相应的代码,有些方法用不到,就注释掉

不然激活的时候会报错。

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 

zsmigo_103.

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 

IS 

INITIAL 

AND 

g_bwart 

103'

e_cprog 

SAPLZMIGO_103'

e_dynnr 

1000'

"

fields:

Input

e_heading 

收货批次'

*101移动类型也增加输入 

lanyf 

2016-1-13 

DEVK921012

101'

105'

供应商批次'

Set 

G_LINE_ID 

(= 

line_id 

item 

displayed 

on 

detail-tabstrip)

g_line_id 

i_line_id.

Read 

data

READ 

gt_extdata 

INTO 

ls_extdata

KEY 

Export 

function 

group 

(for 

display 

subscreen)

CALL 

ZMIGO_103_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 

zsmigo_103,

ls_extdata_old 

Only 

line 

exists

ZMIGO_103_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 

zmigo_103,

l_subrc 

sy-subrc.

internal 

table:

Update 

Line 

new:

GOITEM 

has 

reference 

material 

document,

already 

existing 

read.

cs_goitem-mblnr 

cs_goitem-mjahr 

INITIAL

cs_goitem-zeile 

INITIAL.

cs_goitem-bwart 

or 

."

增强101收货批次 

2016-1-13

SELECT 

SINGLE 

ls_migo_badi_exampl

WHERE 

mblnr 

cs_goitem-mblnr

mjahr 

cs_goitem-mjahr

zeile 

cs_goitem-zeile.

ELSEIF 

ebeln 

cs_goitem-ebeln

ebelp 

cs_goitem-ebelp

cs_goitem-lfbja

cs_goitem-lfbnr

cs_goitem-lfpos.

gt_extdata.

ELSE.

exists:

entered 

BAdI-subscreeen, 

but 

only

line_modify 

was 

called 

for 

the

detail 

tabstrip'

ls_extdata_new-sgtxt 

ls_extdata_old-sgtxt.

** 

Field 

changed 

cs_goitem-sgtxt 

ls_extdata_new-sgtxt.

else.

Take 

GOITEM

cs_goitem-sgtxt.

endif.

MODIFY 

OR 

licha

cs_goitem-licha

zmigo_103

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~RESET.

Clear 

data:

CLEAR:

gt_extdata,

g_no_input,

gs_exdata_header,

G_BWART,

G_XS,

g_cancel,

g_line_id.

IF_EX_MB_MIGO_BADI~RESET

if_ex_mb_migo_badi~post_document.

ls_migo_badi_example 

lt_migo_badi_example 

OF 

ls_xmseg 

mseg,

l_xchar 

marc-xchar.

FIELD-SYMBOLS:

gt_extdata>

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_xmseg-bwart 

ls_xmseg-werks 

ls_migo_badi_example.

ls_migo_badi_example-mblnr 

ls_xmseg-mblnr.

ls_migo_badi_example-zeile 

ls_xmseg-zeile.

ls_migo_badi_example-mjahr 

ls_xmseg-mjahr.

ls_migo_badi_example-ebeln 

ls_xmseg-ebeln.

ls_migo_badi_example-ebelp 

ls_xmseg-ebelp.

ls_migo_badi_example-matnr 

ls_xmseg-matnr.

ls_migo_badi_example-werks 

ls_xmseg-werks.

ls_migo_badi_example-lgort 

ls_xmseg-lgort.

ls_migo_badi_example-charg 

ls_xmseg-charg.

*判断是否为必填

xchpf

l_xchar

marc

matnr 

ls_xmseg-matnr

werks 

ls_xmseg-werks

xchpf 

ls_extdata-licha 

I

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

当前位置:首页 > 外语学习 > 其它语言学习

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

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