您的位置:首页 > 其它

生产订单修改记录

2015-06-09 15:11 489 查看
*&---------------------------------------------------------------------*

*& Report ZPPR024

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPPR024.

*&---------------------------------------------------------------------*

*& Report ZPR_0002 for WBL

*& CO02生产订单修改记录报表

*&---------------------------------------------------------------------*

tables:zafkolog , zresblog , aufk ,afpo.

types: begin of typ_afko.

include type zafkolog.

types: flag type c,

end of typ_afko.

types: begin of typ_resb.

include type zresblog.

types: maktx like makt-maktx,"物料描述

flag type c,

end of typ_resb.

types: begin of afkoflag,

gamng type c, "总计数量修改

gasmg type c, "废品数量修改

gstrp type c, "开始日期修改

gltrp type c, "完成日期修改

end of afkoflag.

types:begin of resbflag,

matnr type c, "物料 "v1-9 add

werks type c, "工厂修改

lgort type c, "库位修改

bdmng type c, "需求数量修改

sobkz type c, "特殊库存修改

KZEAR TYPE C, "最后确认 "v1-3 add

end of resbflag.

types:begin of afkopos,

gamng type i,

gasmg type i,

gstrp type i,

gltrp type i,

end of afkopos.

types:begin of resbpos,

matnr type i, "物料 "v1-9 add

werks type i,

lgort type i,

bdmng type i,

sobkz type i,

KZEAR type i, "v1-3 add

end of resbpos.

types:begin of afkoval,

gamng like afko-gamng,

gasmg like afko-gasmg,

gstrp like afko-gstrp,

gltrp like afko-gltrp,

end of afkoval.

types:begin of resbval,

matnr like resb-matnr, "物料 "v1-9 add

werks like resb-werks,

lgort like resb-lgort,

bdmng like resb-bdmng,

sobkz like resb-sobkz,

KZEAR LIKE RESB-KZEAR, "v1-3 add

end of resbval.

data:t_afko type table of typ_afko, "工单抬头给修改过的

t_afko2 type table of typ_afko, "工单抬头未给修改,只有物料清单给修改过的整理后的

t_resb type table of typ_resb,

w_afko1 type typ_afko,

w_afko2 type typ_afko,

w_resb1 type typ_resb,

w_resb2 type typ_resb,

g_resbflag type resbflag,

g_afkoflag type afkoflag,

g_afkopos type afkopos,

g_resbpos type resbpos,

g_afkoval type afkoval,

g_resbval type resbval,

g_iferr type c "v1-7 add

.

data: g_ifnoauthpass TYPE C. "v1-8

constants: pos_taitou type i value 12,

pos_before type i value 17,

pos_gamng type i value 27,

pos_gasmg type i value 47,

pos_gstrp type i value 67,

pos_gltrp type i value 82,

pos_biaoshen type i value 12,

pos_after type i value 17,

pos_matnr type i value 27,

pos_maktx type i value 42,

pos_dwerk type i value 82,

pos_lgort type i value 92,

pos_bdmng type i value 98,

pos_sobkz type i value 118,

pos_kzear type i value 128. "v1-3 add

g_afkopos-gamng = pos_gamng.

g_afkopos-gasmg = pos_gasmg.

g_afkopos-gstrp = pos_gstrp.

g_afkopos-gltrp = pos_gltrp.

g_resbpos-matnr = pos_matnr. "v1-9 add

g_resbpos-werks = pos_dwerk.

g_resbpos-lgort = pos_lgort.

g_resbpos-bdmng = pos_bdmng.

g_resbpos-sobkz = pos_sobkz.

g_resbpos-kzear = pos_kzear. "v1-3 add

ranges r_auart for aufk-auart.

selection-screen begin of block blk1 with frame title

text-t01.

parameters:p_dwerk like afpo-dwerk obligatory. "default '1021'. "工厂

select-options: s_aufnr for zafkolog-aufnr,

"obligatory, "v1-7 rmk

s_mdate for zafkolog-gstrp.

parameters:p_auart like aufk-auart. "工单类型

select-options:s_aennr for zafkolog-aennr no intervals. "修改人 "v1-5 add

* SELECT-OPTIONS:S_AUART FOR AUFK-AUART NO INTERVALS OPTION EQ SIGN I.

selection-screen end of block blk1.

*****BEGIN OF EVENT TOP-OF-PAGE*****

*****END OF EVENT TOP-OF-PAGE********

******BEGIN OF EVENT INITIALZATION**********

INITIALIZATION.

GET PARAMETER ID 'WRK' FIELD P_DWERK. "V1-9 ADD

******END OF EVENT INITIALZATION************

******BEGIN OF EVENT AT SELECTION-SCREEN ON BLOCK BLK1***********

at selection-screen.

if p_auart is not initial.

refresh r_auart.

r_auart-option = 'EQ'.

r_auart-sign = 'I'.

r_auart-low = p_auart.

append r_auart.

endif.

******END OF EVENT AT SELECTION-SCREEN ON BLOCK BLK1************

*****BEGIN OF EVENT START-OF-SELECTION************

start-of-selection.

* perform frm_auth_check. "V1-8 ADD

* if g_ifnoauthpass is initial. "V1-8 ADD

perform frm_check

using g_iferr. "v1-7 add

check g_iferr is initial. "v1-7 add

perform frm_select.

perform data_output.

"v1-8 add

*****END OF EVENT START-OF-SELECTION**************

******BEGIN OF EVENT END-OF-SELECTION****************

end-of-selection.

******END OF EVENT END-OF-SELECTION*****************

form frm_check

using p_iferr. "v1-7 add

clear p_iferr. "v1-7 add

select single

a~aufnr "生产订单

into corresponding fields of w_afko1

from zafkolog as a

inner join afpo as b on a~aufnr = b~aufnr

inner join aufk as c on a~aufnr = c~aufnr

where a~aufnr in s_aufnr "生产订单号

and b~dwerk = p_dwerk "工厂

and a~sdate in s_mdate "修改时间

and c~auart in r_auart "工单类型

and a~aennr in s_aennr. "修改人 "v1-5 add

if sy-subrc <> 0.

select single

a~aufnr

into corresponding fields of w_resb1

from zresblog as a

INNER JOIN AFKO AS D ON A~RSNUM = D~RSNUM "V1-9 ADD

* inner join afpo as b on a~aufnr = b~aufnr "V1-9 RMK

* inner join aufk as c on a~aufnr = c~aufnr "V1-9 RMK

inner join afpo as b on D~aufnr = b~aufnr "V1-9 ADD

inner join aufk as c on D~aufnr = c~aufnr "V1-9 ADD

where

* a~aufnr in s_aufnr "生产订单号 "V1-9 RMK

D~aufnr in s_aufnr "生产订单号 "V1-9 ADD

and b~dwerk = p_dwerk "工厂

and a~sdate in s_mdate "修改时间

and c~auart in r_auart "工单类型

and a~aennr in s_aennr. "修改人 "v1-5 add

if sy-subrc <> 0.

message '无相关单据' type 'S'.

endif.

endif.

*********************v1-7 add begin*******************

if s_aufnr is initial

and s_mdate is initial.

message '条件生产订单和修改日期不能都为空.' TYPE 'S' DISPLAY LIKE 'E'.

P_IFERR = 'X'.

endif.

*********************v1-7 add end*********************

clear: w_afko1 , w_resb1.

endform.

form frm_select .

select a~aufnr

a~sdate

a~stime

a~snew

a~sname

a~prvbe

a~gltrp

a~gstrp

a~gamng

a~gasmg

a~aennr "v1-2 add

into corresponding fields of w_afko1

from zafkolog as a

inner join afpo as b on a~aufnr = b~aufnr

inner join aufk as c on a~aufnr = c~aufnr

where a~aufnr in s_aufnr "生产订单号

and b~dwerk = p_dwerk "工厂

and a~sdate in s_mdate "修改时间

and c~auart in r_auart "工单类型

and a~aennr in s_aennr. "修改人 "v1-5 add

append w_afko1 to t_afko.

clear w_afko1.

endselect.

select a~rsnum

a~rspos

a~aufnr

a~rsart

a~sdate

a~stime

a~snew

a~sname

a~prvbe

a~werks

a~lgort

a~bdmng

a~sobkz

a~matnr

a~SHKZG "借贷标记 S为借(负),H 为贷(正)

a~aennr "v1-2 add

a~kzear "v1-3 add

into corresponding fields of w_resb1

from zresblog as a

INNER JOIN AFKO AS D ON A~RSNUM = D~RSNUM "V1-9 ADD

* inner join afpo as b on a~aufnr = b~aufnr "V1-9 RMK

* inner join aufk as c on a~aufnr = c~aufnr "V1-9 RMK

inner join afpo as b on D~aufnr = b~aufnr "V1-9 ADD

inner join aufk as c on D~aufnr = c~aufnr "V1-9 ADD

where

* a~aufnr in s_aufnr "生产订单号 "V1-9 RMK

D~aufnr in s_aufnr "生产订单号 "V1-9 ADD

and b~dwerk = p_dwerk "工厂

and a~sdate in s_mdate "修改时间

and c~auart in r_auart "工单类型

and a~aennr in s_aennr. "修改人 "v1-5 add

"取得物料描述

if w_resb1-matnr is NOT initial. "v1-4 add

select single maktx

from makt

into w_resb1-maktx

where matnr = w_resb1-matnr

and spras = '1'.

else. "v1-4 add

select single potx1 "v1-4 add

from zresblog as a "v1-4 add

into w_resb1-maktx "v1-4 add

where a~rsnum = w_resb1-rsnum "v1-4 add

and a~rspos = w_resb1-rspos "v1-4 add

and a~sdate = w_resb1-sdate "v1-4 add

and a~stime = w_resb1-stime "v1-4 add

and a~snew = w_resb1-snew "v1-4 add

and a~sname = w_resb1-sname. "v1-4 add

endif. "v1-4 add

"根据借贷标记更新需求数量

if w_resb1-SHKZG = 'S'.

w_resb1-bdmng = - w_resb1-bdmng.

endif.

append w_resb1 to t_resb.

clear w_resb1.

endselect.

***************表头没有修改的记录也插入到t_afko中 开始***************

loop at t_resb into w_resb1.

read table t_afko into w_afko1 with key aufnr = w_resb1-aufnr

sdate = w_resb1-sdate

stime = w_resb1-stime

sname = w_resb1-sname.

if sy-subrc <> 0.

w_afko1-aufnr = w_resb1-aufnr.

w_afko1-sdate = w_resb1-sdate.

w_afko1-stime = w_resb1-stime.

w_afko1-sname = w_resb1-sname.

w_afko1-aennr = w_resb1-aennr. "v1-2 add

append w_afko1 to t_afko.

endif.

clear:w_resb1 , w_afko1.

endloop.

***************表头没有修改的记录也插入到t_afko中 结束***************

sort t_afko by aufnr sdate stime.

sort t_resb by rsnum sdate stime.

endform.

form data_output.

data: l_idx1 type i,

l_idx2 type i,

l_cname type adrp-name_text, "v1-6 add

l_name type adrp-name_text. "v1-6 add

loop at t_afko into w_afko1 where flag = space.

l_idx1 = sy-tabix.

if w_afko1-prvbe = '更改之前'.

write:/1 '生产订单号:', w_afko1-aufnr.

write:/10 '修改日',

25 '修改时间',

40 '修改者' ,

* 55 '计算机名' "v1-2 add "v1-6 rmk

70 '计算机名' "v1-6 add

.

read table t_afko into w_afko2 with key aufnr = w_afko1-aufnr

sdate = w_afko1-sdate

stime = w_afko1-stime

SNAME = W_AFKO1-SNAME "V1-9 ADD

prvbe = '更改之后'.

if sy-subrc = 0 . "V1-9 ADD

l_idx2 = sy-tabix. "V1-9 ADD

************************v1-6 add begin****************************

clear:l_name,l_cname.

perform frm_get_username using w_afko1-aennr changing l_cname.

concatenate w_afko1-aennr l_cname into l_name.

************************v1-6 add end******************************

* if sy-subrc = 0 . "V1-9 RMK

* l_idx2 = sy-tabix. "V1-9 RMK

write:/ w_afko1-sdate under '修改日',

w_afko1-stime under '修改时间',

* w_afko1-aennr under '修改者', "v1-2 add "v1-6 rmk

l_name under '修改者', "v1-6 add

w_afko1-sname under '计算机名' "v1-2 add

* w_afko1-sname under '修改者' "v1-2 rmk

.

skip.

write:at pos_taitou '抬头',

at pos_gamng '总计数量',

at pos_gasmg '废品数量',

at pos_gstrp '开始日期',

at pos_gltrp '完成日期'

.

perform get_afkoflag using w_afko1 w_afko2 g_afkoflag.

perform format_write_afko using w_afko1 w_afko2 g_afkoflag.

clear g_afkoflag.

w_afko1-flag = 'X'.

w_afko2-flag = 'X'.

modify t_afko from w_afko1 index l_idx1.

modify t_afko from w_afko2 index l_idx2.

***********************V1-9 ADD BEGIN*************************

ELSE.

clear:g_afkoflag,

w_afko2.

w_afko2-aufnr = w_afko1-aufnr.

w_afko2-sdate = w_afko1-sdate.

w_afko2-stime = w_afko1-stime.

w_afko2-SNAME = W_AFKO1-SNAME.

w_afko2-prvbe = '更改后(丢)'.

perform format_write_afko using w_afko1 w_afko2 g_afkoflag.

**********************V1-9 ADD END****************************

clear: l_idx1,l_idx2.

endif.

elseif w_afko1-prvbe = '更改之后'.

clear: l_idx1,l_idx2.

clear: w_afko1 , w_afko2 , w_resb1 , w_resb2.

continue.

else.

************************v1-6 add begin****************************

clear:l_name,l_cname.

perform frm_get_username using w_afko1-aennr changing l_cname.

concatenate w_afko1-aennr l_cname into l_name.

************************v1-6 add end******************************

write:/1 '生产订单号:', w_afko1-aufnr.

write:/10 '修改日',

25 '修改时间',

40 '修改者' ,

* 55 '计算机名' "v1-2 add "v1-6 rmk

70 '计算机名' "v1-6 add

.

write:/ w_afko1-sdate under '修改日',

w_afko1-stime under '修改时间',

* w_afko1-aennr under '修改者', "v1-2 add "v1-6 rmk

l_name under '修改者', "v1-6 add

w_afko1-sname under '计算机名' "v1-2 add

* w_afko1-sname under '修改者' "v1-2 rmk

.

skip.

write:at pos_taitou '抬头无修改'.

w_afko1-flag = 'X'.

modify t_afko from w_afko1 index l_idx1.

clear: l_idx1,l_idx2.

ENDIF.

************配件部分开始*********************

skip.

read table t_resb into w_resb1 with key aufnr = w_afko1-aufnr

flag = space

sdate = w_afko1-sdate

stime = w_afko1-stime

sname = w_afko1-sname .

if sy-subrc = 0. "配件有修改过

write: at pos_biaoshen '配件',

at pos_matnr '物料号',

at pos_maktx '物料描述',

at pos_dwerk '工厂',

at pos_lgort '库位',

at pos_bdmng '需求数量' ,

at pos_sobkz '特殊库存',

at pos_kzear '最后确认' "v1-3 add

.

loop at t_resb into w_resb1 where aufnr = w_afko1-aufnr

and flag = space

and sdate = w_afko1-sdate

and stime = w_afko1-stime

and sname = w_afko1-sname .

l_idx1 = sy-tabix.

if w_resb1-prvbe = '更改之前'.

read table t_resb into w_resb2 with key rsnum = w_resb1-rsnum

rspos = w_resb1-rspos

sdate = w_resb1-sdate

stime = w_resb1-stime

sname = w_resb1-sname "v1-9 add

prvbe = '更改之后'.

if sy-subrc = 0.

l_idx2 = sy-tabix.

perform get_resbflag using w_resb1 w_resb2 g_resbflag.

perform format_write_resb

using w_resb1 w_resb2 g_resbflag.

clear g_resbflag.

w_resb1-flag = 'X'.

w_resb2-flag = 'X'.

modify t_resb from w_resb1 index l_idx1.

modify t_resb from w_resb2 index l_idx2.

clear: w_resb1 , w_resb2.

************************v1-9 ADD BEGIN****************************

ELSE.

CLEAR:W_RESB2,

G_RESBFLAG.

w_resb2-rsnum = w_resb1-rsnum.

w_resb2-rspos = w_resb1-rspos.

w_resb2-sdate = w_resb1-sdate.

w_resb2-stime = w_resb1-stime.

w_resb2-sname = w_resb1-sname.

w_resb2-prvbe = '更改后(丢)'.

perform format_write_resb

using w_resb1 w_resb2 g_resbflag.

************************V1-9 ADD END******************************

endif.

* elseif w_resb1-prvbe <> '更改之后' .

elseif not ( w_resb1-prvbe = '更改之后'

or w_resb1-prvbe = '更改之前' ).

perform initformat_write_resb using w_resb1.

w_resb1-flag = 'X'.

modify t_resb from w_resb1 index l_idx1.

endif.

clear: l_idx1,l_idx2.

endloop.

else. "配件没修改过

write: at pos_biaoshen '配件无修改'.

endif.

************配件部分结束*********************

ULINE.

SKIP.

clear: w_afko1 , w_afko2 , w_resb1 , w_resb2.

endloop.

endform.

form format_write_afko using para_w_afko1 like w_afko1 para_w_afko2

like w_afko1 para_afkoflag type afkoflag.

data l_afkoflag type afkoflag.

data l_afkoval type afkoval.

l_afkoflag = para_afkoflag.

move-corresponding para_w_afko1 to l_afkoval.

field-symbols :<flag> , <pos> , <val>.

skip.

write:

* at pos_before '更改之前' "V1-9 RMK

at pos_before para_w_afko1-prvbe "V1-9 ADD

* AT POS_GAMNG PARA_W_AFKO1-GAMNG,

* AT POS_GASMG PARA_W_AFKO1-GASMG,

* AT POS_GSTRP PARA_W_AFKO1-GSTRP,

* AT POS_GLTRP PARA_W_AFKO1-GLTRP

.

do.

assign component sy-index of structure l_afkoflag to <flag>.

assign component sy-index of structure g_afkopos to <pos>.

assign component sy-index of structure l_afkoval to <val>.

if sy-subrc <> 0.

exit.

endif.

perform write_col_negative using <flag> <pos> <val>.

enddo.

clear l_afkoval.

move-corresponding para_w_afko2 to l_afkoval.

skip.

write:

* at pos_after '更改之后' "V1-9 RMK

at pos_after para_w_afko2-prvbe "V1-9 ADD

* AT POS_GAMNG PARA_W_AFKO2-GAMNG ,

* AT POS_GASMG PARA_W_AFKO2-GASMG ,

* AT POS_GSTRP PARA_W_AFKO2-GSTRP ,

* AT POS_GLTRP PARA_W_AFKO2-GLTRP

.

do.

assign component sy-index of structure l_afkoflag to <flag>.

assign component sy-index of structure g_afkopos to <pos>.

assign component sy-index of structure l_afkoval to <val>.

if sy-subrc <> 0.

exit.

endif.

perform write_col_positive using <flag> <pos> <val>.

enddo.

endform.

form get_afkoflag using para_w_afko1 like w_afko1 para_w_afko2 like

w_afko1 para_afkoflag type afkoflag.

if para_w_afko1-gamng <> para_w_afko2-gamng.

para_afkoflag-gamng = 'X'.

endif.

if para_w_afko1-gasmg <> para_w_afko2-gasmg.

para_afkoflag-gasmg = 'X'.

endif.

if para_w_afko1-gstrp <> para_w_afko2-gstrp.

para_afkoflag-gstrp = 'X'.

endif.

if para_w_afko1-gltrp <> para_w_afko2-gltrp.

para_afkoflag-gltrp = 'X'.

endif.

endform.

form format_write_resb using para_w_resb1 like w_resb1 para_w_resb2

like w_resb1 para_resbflag type resbflag.

data l_resbflag type resbflag.

data l_resbval type resbval.

l_resbflag = para_resbflag.

move-corresponding para_w_resb1 to l_resbval.

field-symbols :<flag> , <pos> , <val>.

skip.

* AT POS_BEFORE '更改之前',

write:at pos_before para_w_resb1-prvbe,

at pos_matnr para_w_resb1-matnr,

at pos_maktx para_w_resb1-maktx

* AT POS_DWERK PARA_W_RESB1-WERKS,

* AT POS_LGORT PARA_W_RESB1-LGORT,

* AT POS_BDMNG PARA_W_RESB1-BDMNG,

* AT POS_SOBKZ PARA_W_RESB1-SOBKZ

.

do.

assign component sy-index of structure l_resbflag to <flag>.

assign component sy-index of structure g_resbpos to <pos>.

assign component sy-index of structure l_resbval to <val>.

if sy-subrc <> 0.

exit.

endif.

perform write_col_negative using <flag> <pos> <val>.

enddo.

clear l_resbval.

move-corresponding para_w_resb2 to l_resbval.

skip.

* WRITE:AT POS_AFTER '更改之后',

write:at pos_before para_w_resb2-prvbe,

at pos_matnr para_w_resb2-matnr,

at pos_maktx para_w_resb2-maktx

* AT POS_DWERK PARA_W_RESB2-WERKS,

* AT POS_LGORT PARA_W_RESB2-LGORT,

* AT POS_BDMNG PARA_W_RESB2-BDMNG,

* AT POS_SOBKZ PARA_W_RESB2-SOBKZ

.

do.

assign component sy-index of structure l_resbflag to <flag>.

assign component sy-index of structure g_resbpos to <pos>.

assign component sy-index of structure l_resbval to <val>.

if sy-subrc <> 0.

exit.

endif.

perform write_col_positive using <flag> <pos> <val>.

enddo.

endform.

form get_resbflag using para_w_resb1 like w_resb1 para_w_resb2 like

w_resb1 para_resbflag type resbflag.

***********************v1-9 add begin***********************

if para_w_resb1-matnr <> para_w_resb2-matnr.

para_resbflag-matnr = 'X'.

endif.

************************v1-9 add end*************************

if para_w_resb1-werks <> para_w_resb2-werks.

para_resbflag-werks = 'X'.

endif.

if para_w_resb1-lgort <> para_w_resb2-lgort.

para_resbflag-lgort = 'X'.

endif.

if para_w_resb1-bdmng <> para_w_resb2-bdmng.

para_resbflag-bdmng = 'X'.

endif.

if para_w_resb1-sobkz <> para_w_resb2-sobkz.

para_resbflag-sobkz = 'X'.

endif.

if para_w_resb1-kzear <> para_w_resb2-kzear. "v1-3 add

para_resbflag-kzear = 'X'. "v1-3 add

endif. "v1-3 add

endform.

form initformat_write_resb using para_w_resb1 like w_resb1.

skip.

write:at pos_after para_w_resb1-prvbe,

at pos_matnr para_w_resb1-matnr,

at pos_maktx para_w_resb1-maktx,

at pos_dwerk para_w_resb1-werks,

at pos_lgort para_w_resb1-lgort,

at pos_bdmng para_w_resb1-bdmng,

at pos_sobkz(1) para_w_resb1-sobkz,

at pos_kzear(1) para_w_resb1-kzear "v1-3 add

.

endform.

form write_col_negative using para_col type c para_pos type i para_val.

data l_len type i. "v1-3 add

clear l_len. "v1-3 add

describe field para_val output-length l_len. "v1-3 add

if l_len < 8. "目的是为底色显示更平均 "v1-3 add

l_len = 8. "v1-3 add

endif. "v1-3 add

if para_col = 'X'.

format color col_negative on .

"write : at para_pos para_val. "v1-3 rmk

write : at para_pos(l_len) para_val. "v1-3 add

else.

format color col_negative off .

write: at para_pos para_val. "v1-3 rmk

write: at para_pos(l_len) para_val. "v1-3 add

endif.

format color col_negative off .

endform.

form write_col_positive using para_col type c para_pos type i

para_val.

data l_len type i. "v1-3 add

clear l_len. "v1-3 add

describe field para_val output-length l_len. "v1-3 add

if l_len < 8. "目的是为底色显示更平均 "v1-3 add

l_len = 8. "v1-3 add

endif. "v1-3 add

if para_col = 'X'.

format color col_positive on.

"write : at para_pos para_val. "v1-3 rmk

write : at para_pos(l_len) para_val. "v1-3 add

else.

format color col_positive off.

"write : at para_pos para_val. "v1-3 rmk

write: at para_pos(l_len) para_val. "v1-3 add

endif.

format color col_positive off.

endform.

***************************v1-6 add begin******************************

*&---------------------------------------------------------------------*

*& Form FRM_GET_USERNAME

*&---------------------------------------------------------------------*

* text

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

* --> p1 text

* <-- p2 text

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

form frm_get_username using p_sy_uname changing p_name_txt.

select single name_text

from adrp

inner join usr21 on usr21~persnumber = adrp~persnumber

into p_name_txt

where bname = p_sy_uname.

endform. " FRM_GET_USERNAME

***************************v1-6 add end********************************

******************************V1-8 ADD BEGIN******************************

*&---------------------------------------------------------------------*

*& Form FRM_AUTH_CHECK

*&---------------------------------------------------------------------*

* text

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

* --> p1 text

* <-- p2 text

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

FORM FRM_AUTH_CHECK .

* clear:r_vkorg,

* r_vkorg[].

CALL FUNCTION 'ZGL_CHECK_REPAUTH'

EXPORTING

I_MODULE = 'PP'

* I_BUKRS = P_BUKRS

I_WERKS = p_dwerk

* I_VKORG =

* I_ACTVT =

EXCEPTIONS

NO_MODULE = 1

NO_INPUTFIELD = 2

NOT_AUTHORIZED = 3

OTHERS = 4

.

IF SY-SUBRC <> 0.

g_ifnoauthpass = 'X'.

message id sy-msgid type sy-msgty number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

else.

clear g_ifnoauthpass.

ENDIF.

*

* r_vkorg[] = s_vkorg[].

*

* CALL FUNCTION 'ZGL_CHECK_REPAUTH_FILTRANGE'

* EXPORTING

* I_MODULE = 'SD'

** I_***TVT =

** I_IFBUKRS =

** I_IFWERKS =

* I_IFVKORG = 'X'

* TABLES

** T_RANGEBUKRS =

** T_RANGEWERKS =

* T_RANGEVKORG = R_VKORG

* .

ENDFORM. " FRM_AUTH_CHECK

*****************************V1-8 ADD END**********************************
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: