BAPI Update price condition

上一篇 / 下一篇  2008-06-07 21:26:46 / 个人分类:ABAP BAPI

report z00010 .
fD/H7RM0ITPUB个人空间2Tj,] r5NaF
tables : mvke,zpricechange, a958,a957,a993,a999,konp,kna1,tvm1t,ekpo,vbap,vbak,vbup,ekko, eina,eine,a017.
/P6rn Re\$g0data: ok_code type sy-ucomm,ITPUB个人空间G8[/p$|4u)M5eN2O
 save_ok type sy-ucomm.
]+Q}5n4AL*@c0data: ta_bapicondct type bapicondct occurs 0.
GqG"K }_uj$k6Rn0data: ta_bapicondhd type bapicondhd occurs 0.
{/[([m m~0zW0data: ta_bapicondit type bapicondit occurs 0.
-o r ~"Pk |s?0data: ta_bapicondqs type bapicondqs occurs 0.
ZW*@2i N)i0data: ta_bapicondvs type bapicondvs occurs 0.
y)V o`se&x K0data: ta_bapiret2 like table of bapiret2 with header line.ITPUB个人空间5h)g!n:{ L7|T/~
data: wa_bapicondct like line of ta_bapicondct.
*v8TOp&r.j3i(N+Ur0data: wa_bapicondhd like line of ta_bapicondhd.ITPUB个人空间0M3AC4WS
data: wa_bapicondit like line of ta_bapicondit.ITPUB个人空间9@D| t;dPL
data: ta_bapiknumhs type bapiknumhs occurs 0.
kz's#X/XkK3EG/di0data: ta_mem_initial type cnd_mem_initial occurs 0.ITPUB个人空间3VPHT(Xn9@7^
data: t_poitem like bapimepoitem occurs 0 with header line.
$S&uX.{d#T+H'y[:t!M0data: t_poitemx like bapimepoitemx occurs 0 with header line.ITPUB个人空间A"Mm@}$ev7vJ3a
data: t_return like bapiret2 occurs 0 with header line.ITPUB个人空间5^4Q%p5|O[
data: t_cond like bapimepocond occurs 0 with header line.
,kr)g:g{.fB0data: t_condx like bapimepocondx occurs 0 with header line.ITPUB个人空间 {:z2}7sI~*|H
data: it_partners type table of bapiparnr with header line.ITPUB个人空间S W|Fh8v
data: it_conditions type table of bapicond with header line.
9eIdnj(Z#@0data: it_conditionsx type table of bapicondx with header line.
z{ r"Q2g3J _(^'w0data: update_order_flag like bapisdh1x.ITPUB个人空间}!h yb'j5ROx \
data: h_varkey(100).
:qY%Sxc0data: h_cond_unit type meins.ITPUB个人空间xc?,I _*@P A
data : case1, case2.
"ZD1n{L mww0data : flage type c,
2|(I,Iw)n u3i0 so_type type string.ITPUB个人空间R[&n|3F|M4s*G8v
* define internal tableITPUB个人空间X1h,Id8R!@$r_8O
data : begin of screen2_line,
LUGA;v0 kunnr like kna1-kunnr, "customer,
\\vr @ _r7Z1y0 name1 like kna1-name1, "customer name,
RP.m7k~H0 rke_mvgr1 like a958-rke_mvgr1, "model
;fW/~N0Q8j] fo8?)Y0 bezei like tvm1t-bezei, "model name
g6_k[H0{C0 kbetr like konp-kbetr, "exist priceITPUB个人空间V4O?7PTCE
 kbetr2 like konp-kbetr, "new priceITPUB个人空间 a#hb"?.H8k
 datab like a958-datab, "price date
]A:A"ri:jX0 konwa like konp-konwa , "currency
4gb CiI0 kschl like a958-kschl, " condition typeITPUB个人空间,`0rH3^&Zum
 change type c, "whether change
*j"yi7K)kFo0*----------------------for old price condition value
$P Q `@6W2rU[ r0 vkorg like mvke-vkorg,ITPUB个人空间$JNA9FP1|mw
 kbstat like a958-kbstat,
T/b&CJ"f}0 kpein like konp-kpein,
~\@%t2FW J9x0 kmein like konp-kmein,ITPUB个人空间uj,S:@4b
 krech like konp-krech,
hZ M;F%Rk0Ic0 kznep like konp-kznep,
J5J0`/{&LO0 zterm like konp-zterm,
{C;ruD TZ!]5Q u;Bp0 valdt like konp-valdt,ITPUB个人空间9CUf j8Q9T
 valtg like konp-valtg,ITPUB个人空间 s%T1nq6AC-m
ITPUB个人空间y'B(\&g W&Q#K
 end of screen2_line,
f*F9b5J C7?5A0 it_price_list like standard table of screen2_line with header line, "First screen itabITPUB个人空间7ot#V'||\
 it_price_list2 like standard table of screen2_line with header line. "second screen itabITPUB个人空间 Q zojfo.}~
data : begin of mat_line,ITPUB个人空间6e[V,KG"o9CI
 kunnr like kna1-kunnr, "customer,ITPUB个人空间+u?1nTK
 name1 like kna1-name1, "customer name,
v0O6M4VU X\0 mvgr1 like mvke-mvgr1, "model
rc'c2n+X%X4Y,F0 bezei like tvm1t-bezei, "model name
h{(a+Z;LV w v0 matnr like marc-matnr, "material number
B R zK$P?0 maktx like makt-maktx, "material desc
1cv;H2~%M j0 kbetr like konp-kbetr, "exist priceITPUB个人空间)X\r Xr"CJ/}n
 kbetr2 like konp-kbetr, "new price
#RgqL7w ti,~0 datab like a958-datab, "price dateITPUB个人空间o#~3O f Mu&k
 konwa like konp-konwa , "currency
p8?+pZ1kZN0 kschl like a958-kschl, " condition typeITPUB个人空间6?#SQ)P.r5w4\.Z0`K
 change type c, "whether changeITPUB个人空间8Mq*@}'Z%{#g
 vkorg like mvke-vkorg,
|D5_#`Rc+iT$~0*----------------------for old price condition value---------------------------------------------------ITPUB个人空间w5~e)\!o\ d+X4jnY
* kbstat LIKE a998-kbstat,ITPUB个人空间{k!J8jZ w6k Q
 kpein like konp-kpein,
x9Cq%i'L#{0 kmein like konp-kmein,
b PZ8de)yw5v0 krech like konp-krech,ITPUB个人空间A fq!q7^
 kznep like konp-kznep,
Mg'X rJ v~3\0B0 zterm like konp-zterm,ITPUB个人空间Y7\'wy}R
 valdt like konp-valdt,ITPUB个人空间#x9uO }&hh(i
 valtg like konp-valtg,ITPUB个人空间j7bLDZ)obj
 end of mat_line,
t YA,]BV!V0 it_mat like standard table of mat_line with header line,ITPUB个人空间I|qK7b!R wi5X2W
 it_mat2 like standard table of mat_line with header line.
oVUS/up-v/p(?!m0ITPUB个人空间 ^f s1vthu1|

_rq P?!{0data : begin of so_po_price,ITPUB个人空间(bs+Y/BRtc
 mark type c,ITPUB个人空间*C A2k[s'qg#Yf2K?
 kunnr like kna1-kunnr,ITPUB个人空间!XYe$XH1t T7o`u_
 vbeln like vbap-vbeln,ITPUB个人空间$CGZ2S2Q? Aw
 posnr like vbap-posnr,
#s |M[ N0 matnr like mara-matnr,
OS$}v C;Z3y0 maktx like makt-maktx,ITPUB个人空间,IPe:?_WK2p
 ebeln like ekpo-ebeln,ITPUB个人空间N.~L;{)v
 bstkd like vbkd-bstkd,
!J$eK#P,`%DV _0 ebelp like ekpo-ebelp,ITPUB个人空间?1S(Q.mTQa-A
 posex like vbap-posex,
J2M$^M#c"x Y'EB2`0 kbetr like konp-kbetr,ITPUB个人空间'r1|1SyofZ1~-{jy
 konwa like konp-konwa ,ITPUB个人空间;oF\&Bo p2r
 submi like ekko-submi,ITPUB个人空间U0jz4U'Fz1n0j)Mw
 bstnk like vbak-bstnk,
)^'s;fS5L'q&o,y f0 gbsta like vbup-gbsta,
h [ar#h0 vkorg like vbak-vkorg,
!w8_5\2NM^q0 lfsta like vbup-lfsta,
~a#y$B3l[`^:|9\*t0 status like dd07v-ddtext,
$Yi%^ s6m;MB/f0 end of so_po_price,ITPUB个人空间(PN%fct.L
 it_so_po_price1 like standard table of so_po_price with header line,
5nGw C \ z[5V0 it_so_po_price like standard table of so_po_price with header line.
~F {]'gh&n0data : begin of info_line,
4K ]P#OWjW6F(N0 matnr like a017-matnr, "Material numberITPUB个人空间+M`7?6u+? }
 werks like a017-werks, "plantITPUB个人空间;Ub5WW{;Pt3A IY:P6G
 lifnr like a017-lifnr, "vendorITPUB个人空间x r!t'kF cEY
 ekorg like a017-ekorg, "purchase org
Kl!HA \gH_V0 end of info_line,
@tx}$B%{0 it_inforecord like standard table of info_line with header line.ITPUB个人空间x$rT VnK!N){

ZmFX H [u0data : begin of message_line,ITPUB个人空间1TL0w Wa
 word type string,
QgFc Q:vk0 end of message_line,
Q aEJ5j*|n,_0 it_message like standard table of message_line with header line.ITPUB个人空间r#~4Q x:u)ym'~Ig
ITPUB个人空间F2[9Zv"|/y-t8F
* start of selection by call screen 9000ITPUB个人空间0|%Sgx.QO Ea
ITPUB个人空间.A4`d^x+JIu
call screen 9000.ITPUB个人空间;N_?g$q+`5VO

t}+o"\_b0j7w rI0ITPUB个人空间`*e-[H p4F [C*f
ITPUB个人空间;Dd {D/Zz(V y#M
*&--------------------------------------------------------------------*
TxV-r-p/B/[0*& Form. check_search_conditionITPUB个人空间sR$a&QZcu&l
*&--------------------------------------------------------------------*
5FrN5Tm1f&g~Tr0* check screen fields,if the field has empty,display info messageITPUB个人空间,`C5g/Uu-Nq/^8s }
*---------------------------------------------------------------------*ITPUB个人空间q9Zh)`i3K"u
form. check_search_condition.ITPUB个人空间 c,D)f&KE&r\6[ J@
 flage = 'i'. " initaial
/W4? P-Mnx:w7a5o0s0 if case1 = 'X'.ITPUB个人空间Oh4YV Ud:h0}c
ITPUB个人空间 Gm0w4T5A5]@3ld
 if zpricechange-p1_vkorg = space.ITPUB个人空间1l s;e^ G
 message s002(sy) with 'Sales Org Missing!'.
i O&ZB1k#O(~zom0 clear flage .ITPUB个人空间} e5B ]2P#G
 elseif zpricechange-p1_mvgr1 = space .
(C2B2etc'R0 message s002(sy) with 'Model Missing!'.
4W6D:r3CUP$UB'|\0 clear flage .
i P[+|%KiO0 elseif zpricechange-p1_date = 0 .ITPUB个人空间@&~-j3r#v"k z
 message s002(sy) with 'Price Date Missing!'.
5x/Q ek1L7QP4Ux,n0 clear flage .ITPUB个人空间U5g%s5\^7Q ch%A
 else.ITPUB个人空间4Oo7\?rP I&z
 flage = 'X'.ITPUB个人空间8nNa!XH
 endif.
4V;^k8@E TH u:Og0 endif.ITPUB个人空间0^I$OJWy {;S
 if case2 = 'X'.ITPUB个人空间od.cU%[/~5~C?
 if zpricechange-p2_kunnr = space.
I%T,Yf GHbtJ!a0 message s002(sy) with 'Customer Missing!'.ITPUB个人空间!V*z{DCq&^\y3e0q
 clear flage .
4@ J0}o)e0 elseif zpricechange-p2_vkorg = space.
7E Ln)L,^dk$E+e%uOq0 message s002(sy) with 'Sales Org Missing!'.ITPUB个人空间v xd2fU6Ia
 clear flage .
{3U/[/_u9b#N2sf0 elseif zpricechange-p2_mvgr1 = space .ITPUB个人空间Q;j `n;sjY"H s
 message s002(sy) with 'Model Missing!'.
j'A%H9G5v0 clear flage .ITPUB个人空间kB S0X3p%pE!w-dR
 elseif zpricechange-p2_date = 0 .
+trlBer,}/gcz5dJ0 message s002(sy) with 'Price Date Missing!'.
Ev`0n9l%k5Pw,o2B l0 clear flage .ITPUB个人空间9Bk4p%t7?@9G
 else.ITPUB个人空间}"s$YMP,VE
 flage = 'X'.
d Rqp-Kj k:y0 endif.
I3~u#~i6t-TK0 endif.ITPUB个人空间)Z-IX#?qF MbE\-HN
endform. "check_search_conditionITPUB个人空间 ~oZ%K @9p/q R
*&--------------------------------------------------------------------*ITPUB个人空间,cG8I A3Mo
*& Form. query_price
-E9K:o_4A3L2vu0*&--------------------------------------------------------------------*ITPUB个人空间9{'y? khw!h
* get model price and SKU's price in the modelITPUB个人空间%nUX\G.T#aKg CH
*---------------------------------------------------------------------*ITPUB个人空间Q&Z!Kq![
form. query_model .ITPUB个人空间3K&aDZ%P,]]

| ?Ku4[:fU_C0ITPUB个人空间Uml SWsW9f
 if case1 = 'X' .
bX Q5@X-c]0* get model
7SGsgs-O0 select a958~rke_mvgr1 tvm1t~bezei konp~kbetr a958~datab konp~konwa a958~kschl a958~vkorg
1lA S._4vE0 a958~kbstat konp~kpein konp~kmein konp~krech konp~kznep konp~zterm konp~valdt konp~valtgITPUB个人空间 mN2t-^^
 into corresponding fields of table it_price_listITPUB个人空间&qH} Vg6_CH"~
 from a958 inner join konp on a958~knumh = konp~knumh
Q mpR;dWG@(}!Xv0 inner join tvm1t on tvm1t~mvgr1 = a958~rke_mvgr1ITPUB个人空间GRFt(n Vp%B
 where a958~vkorg = zpricechange-p1_vkorg andITPUB个人空间 @T3Dhk
 a958~rke_mvgr1 = zpricechange-p1_mvgr1 andITPUB个人空间~"w4W)S*Tv4z|5o x
 a958~datab >= zpricechange-p1_date andITPUB个人空间7J(L'v^)la
 a958~kschl in ('ZSSP','ZP12','ZSRP') andITPUB个人空间sV{4NC@2}2Y(G
 tvm1t~spras = sy-langu and
YKw,rJ0 konp~loevm_ko = space.
Y0Mf*m)A$O0 loop at it_price_list.ITPUB个人空间^Q%iGUu Md,U
 it_price_list-datab = zpricechange-p1_date.ITPUB个人空间qgDL&ar6S
 modify it_price_list.ITPUB个人空间m-X*U7z-`3h9my s
 endloop.ITPUB个人空间Y,G$t2dP!U.C
* get all material numbers for one modelITPUB个人空间VC1p:i9tc2RY*x+mR

3R)u9G0x wNI#I0 read table it_price_list.
z(a w|0y0 if sy-subrc = 0 .
c0\L.lNO0 select mvke~mvgr1 makt~matnr makt~maktx into corresponding fields of table it_matITPUB个人空间 n m ij3^%_5uT-y6G5|
 from mvke inner join makt on mvke~matnr = makt~matnr
]%]8["J%F/ryoY(X H4s`0 where mvgr1 = zpricechange-p1_mvgr1 and
X)FAT!D$_Q Fa)q%e0 vkorg = zpricechange-p1_vkorg andITPUB个人空间%r?0SZkc)b]
 makt~spras = sy-langu.ITPUB个人空间7^"?+@LU#h Nf
 loop at it_mat .
G S1d(w;?"r(va0 move-corresponding it_price_list to it_mat.ITPUB个人空间 w ku`,[*['S \
 it_mat-datab = zpricechange-p1_date.
@n X%\q0 clear it_mat-kbetr .
Fr0NEH_ a0 modify it_mat.
S;g.b!k^)W0 endloop.ITPUB个人空间v jf:a%I
 it_mat2[] = it_mat[].ITPUB个人空间@$e%d-\ Vx!@
 endif.ITPUB个人空间[ wW5\eD(UfJF
ITPUB个人空间ba0rF?
 call screen 9001.
(Q3q7Qs;~W0ITPUB个人空间/r*mi.e;co
 elseif case2 = 'X' .ITPUB个人空间XJ d'G_7zAr mf!d~R
* get modelITPUB个人空间(r'Dj%@1Z
 select a957~kunnr kna1~name1 a957~rke_mvgr1 tvm1t~bezei konp~kbetr a957~datab konp~konwa
_ pm:y{]-x0 a957~kschl a957~vkorg a957~kbstat konp~kpein konp~kmein konp~krech konp~kznep konp~zterm
-IEYco0 konp~valdt konp~valtg
eg/A Hzm0 into corresponding fields of table it_price_list
9k;B8]H1P x N0 from a957 inner join konp on a957~knumh = konp~knumh
]+T7q1`n:LOFb&j0 inner join kna1 on a957~kunnr = kna1~kunnrITPUB个人空间(b:nx eQ7Es
 inner join tvm1t on tvm1t~mvgr1 = a957~rke_mvgr1
Ij/^ \@'e5f ~A5m0 where a957~vkorg = zpricechange-p2_vkorg andITPUB个人空间 Vq&p S(uy*E
 a957~rke_mvgr1 = zpricechange-p2_mvgr1 andITPUB个人空间:V&g/fL2[
 a957~kunnr = zpricechange-p2_kunnr andITPUB个人空间*VF5bn e)O:u{Z
 a957~datab >= zpricechange-p2_date andITPUB个人空间TJwg8F,Y
 a957~kschl in ('ZSSP','ZP12','ZSRP') and
|z4E's%J%_0 tvm1t~spras = sy-langu andITPUB个人空间|j9uI6CMU
 konp~loevm_ko = space.ITPUB个人空间[a\%^N)mUf/f y
 loop at it_price_list.
K,|oP\l-|P0 it_price_list-datab = zpricechange-p2_date.ITPUB个人空间;}"k-E8Ri7tss
 modify it_price_list.
-[1C?0Ko!NSg$m0 endloop.ITPUB个人空间-V,RVv nE}2F3Q)p5I
* get all material numbers for one modelITPUB个人空间9r4lIk7Q[
ITPUB个人空间]sQ0a/gp
 read table it_price_list.ITPUB个人空间1z%y/z8GQ4L v"}U.p
 if sy-subrc = 0 .ITPUB个人空间7l'x$^ _/[ q+nm#o
 select mvke~mvgr1 makt~matnr makt~maktx into corresponding fields of table it_matITPUB个人空间9t7J:io4ktM'{
 from mvke inner join makt on mvke~matnr = makt~matnrITPUB个人空间9qcrQ!}|E
 where mvgr1 = zpricechange-p2_mvgr1 andITPUB个人空间"e#P#Cd+q
 vkorg = zpricechange-p2_vkorg andITPUB个人空间7|#JS$}-bO~ vU0N(bF
 makt~spras = sy-langu.ITPUB个人空间:@g)Xx&J
 loop at it_mat .
.n'bp @4Y UQC0 move-corresponding it_price_list to it_mat.ITPUB个人空间M:PBMx1[#S dW
 it_mat-datab = zpricechange-p2_date.
V K5fXSaE.? Z C0 clear it_mat-kbetr .ITPUB个人空间/B|-} I[PkA `fJE6i
 modify it_mat.
/M\\$F$]v4r DM+e0 endloop.
;b&tJ\nq'xV[B0 it_mat2[] = it_mat[].
OQr$M~)M;h0 endif.
OKg1M {+`'aQ0 call screen 9002.
'|"~0_i%}B,Pb X {5D0 endif.ITPUB个人空间}|TpH}
endform. " query_price
XU i4h,UU7d0
E&o:U&i#W.Qe*n0*&--------------------------------------------------------------------*
J b Z/[u b\0*& Form. query_matnrITPUB个人空间)o-XTA1X.o"_
*&--------------------------------------------------------------------*ITPUB个人空间aTDjQ8vt*SYu
* get exist prices of the material in master dataITPUB个人空间*GhzQFU9GLF
*---------------------------------------------------------------------*ITPUB个人空间.hWb+wv'{Y/H$~
form. query_matnr using type.ITPUB个人空间GzG-R:r8B
 clear so_type.
PE-f zw0 refresh it_price_list2.
rd Hq6xP4S,Z3q0 it_mat[] = it_mat2[].
+lxBo7K_V0 case type .ITPUB个人空间9k)D%GEV#IC
 when 'ELP'.ITPUB个人空间n$d0Bi4W#vak*ZIU
* FOR DIVISION
h_Y$GIc5J4j0 so_type = 'ELP'.
t&q`*}C0 loop at it_mat .ITPUB个人空间;w8^l"h Pf
 if it_mat-kschl = 'ZSSP'.ITPUB个人空间 K(~F)f]v:c B

1iegno'K$a4D0 select * from a993 where matnr = it_mat-matnr and kschl = it_mat-kschl and vkorg = it_mat-vkorg .ITPUB个人空间XDj(A c |Y
 select * from konp where knumh = a993-knumh.
alqra0g+\6cT0 it_mat-kbetr = konp-kbetr.ITPUB个人空间y/Ga@/S&Bd3qd9?
 it_mat-kpein = konp-kpein.
\1I|z}wpnJ0 it_mat-kmein = konp-kmein.ITPUB个人空间Sfi a.K
 it_mat-krech = konp-krech.
6B ABG9~ x9})v0 it_mat-kznep = konp-kznep .
WO5tK m \0 it_mat-zterm = konp-zterm.
s6@g9S]){$a9[0 it_mat-valdt = konp-valdt.
]|9| [_ P0 it_mat-valtg = konp-valtg.ITPUB个人空间:bW9]jQa br
 modify it_mat.ITPUB个人空间*VJn[*H*RTzO
 endselect.
(f'eE!^8D7S0 endselect.ITPUB个人空间dL R0L.A Q;g(C&u
 else.ITPUB个人空间 o'Ra.ge].vW
 delete it_mat .
W L2n9F|Q%~0 endif.
I+k;Ct/v#[j+v(Wc0 endloop.
]$MbZ El0ITPUB个人空间 i\ zv_b/mL
 loop at it_price_list where kschl = 'ZSSP'.ITPUB个人空间9h+H7k$SHd^'y
 move-corresponding it_price_list to it_price_list2.ITPUB个人空间 X\$pS;m6Bc
 append it_price_list2.ITPUB个人空间 r2zt9T@cr
 endloop.
+lK8v^]K0* FOR OSGDITPUB个人空间-H*D]#n H'@!~#v
 when 'OSGD'.ITPUB个人空间D@hAnY
 so_type = 'OSGD'.ITPUB个人空间k%V Q:m|E
 loop at it_mat .ITPUB个人空间eMrtv)f
 if it_mat-kschl = 'ZSRP' or it_mat-kschl = 'ZP12'.ITPUB个人空间 Xzv{ x2N9DC
ITPUB个人空间-qcX2UQX_5\uT
 select * from a993 where matnr = it_mat-matnr and kschl = it_mat-kschl and vkorg = it_mat-vkorg .
;ukC7z4GaXV0 select * from konp where knumh = a993-knumh.ITPUB个人空间W&~@(U.xD
 it_mat-kbetr = konp-kbetr.
iF3I h%tzMh-x0 it_mat-kpein = konp-kpein.
zNV(]!m n8M!kw0 it_mat-kmein = konp-kmein.ITPUB个人空间| o?T2GO2p
 it_mat-krech = konp-krech.
&_ E0u^1v5t o0 it_mat-kznep = konp-kznep .
$Nro]$w9d SPG5V0 it_mat-zterm = konp-zterm.ITPUB个人空间'mB;G`/Fv
 it_mat-valdt = konp-valdt.ITPUB个人空间&NB6u7CNs _
 it_mat-valtg = konp-valtg.ITPUB个人空间#hsK2ypSs`U
 modify it_mat.
~#u%C$`q/~ a \&w0 endselect.
T7b0Ba|n+z0 endselect.ITPUB个人空间0JPU"l(C~'F%Znl2h4x
 else.ITPUB个人空间7z v nzA u}J
 delete it_mat .
%LR+H7g(u*`N U0 endif.ITPUB个人空间;R2Gaj7I-h(`;}%a`7j`p
 endloop.ITPUB个人空间I\$h+n(b)b`:JzU
 loop at it_price_list where kschl = 'ZRSP' or kschl = 'ZP12'.
h%FO]D3|0 move-corresponding it_price_list to it_price_list2.
o8|$v6j5ty0 append it_price_list2.
J?l{ y/]%V0o0 endloop.
-`&_ee \3l0
;v$HDPj/E}%|eG7o0* FOR DIVISION & OSGDITPUB个人空间rdxX*g,~
 when 'BOTH'.
lzJ [+rt6B_d0 so_type = 'BOTH'.
E^opB_0 loop at it_mat .ITPUB个人空间D{,h:A.k%S
 if it_mat-kschl = 'ZSSP' or it_mat-kschl = 'ZSRP' or it_mat-kschl = 'ZP12'.ITPUB个人空间f#?)h#eEJ@J9of
ITPUB个人空间I&W7aZ^ cpI2z)[
 select * from a993 where matnr = it_mat-matnr and kschl = it_mat-kschl and vkorg = it_mat-vkorg .ITPUB个人空间6y0E Z2@#}U zU
 select * from konp where knumh = a993-knumh.ITPUB个人空间 c?&r L Mc }
 it_mat-kbetr = konp-kbetr.
H9Q1NXI;Cp(px0 it_mat-kpein = konp-kpein.
!f%p+j Td+z:g0 it_mat-kmein = konp-kmein.
$~`N#h'NmmR&Fm A0 it_mat-krech = konp-krech.
2f fS-BuCoP1d0 it_mat-kznep = konp-kznep .
oZ9Y@q)Bod*e bH+H:Vu/@0 it_mat-zterm = konp-zterm.ITPUB个人空间Cn\/U8VI:c
 it_mat-valdt = konp-valdt.ITPUB个人空间k$\#DF K9M@.gT_
 it_mat-valtg = konp-valtg.
H ? D K6?Lu0 modify it_mat.
k"b6l:k0^.p;T0 endselect.ITPUB个人空间gol7t1|*u1Yd.jh V
 endselect.ITPUB个人空间~u:L f/H0l9P
 else.ITPUB个人空间 Mu}u#Y?7o R)G
 delete it_mat .ITPUB个人空间Z|~XXf"H_~
 endif.ITPUB个人空间7GC!Y dSb]U
 endloop.
qLSC;F)d*j0 it_price_list2[] = it_price_list[].
E*G3VI0yS#Fn Y0* FOR CUSTOMERITPUB个人空间6TS.x n c6r~0Wh {
 when 'NOR'.ITPUB个人空间%n^4K}z?_
 so_type = 'NOR'.ITPUB个人空间+mCYkYHBn'@r
 loop at it_mat .
!f?$hS%F!of:IZ {0 select * from a999 where matnr = it_mat-matnr and kschl = it_mat-kschl and
9D&eZ#Sq&U[&a0 vkorg = it_mat-vkorg and kunnr = it_mat-kunnr .
:|xl-sEV8Y0 select * from konp where knumh = a999-knumh.ITPUB个人空间?p7o9Fuv-m9?
 it_mat-kbetr = konp-kbetr.
9I!e,E/}6L:I8b G0 it_mat-kpein = konp-kpein.
A&]4a*N~'kOC0 it_mat-kmein = konp-kmein.
GP$Y`?0C}q0 it_mat-krech = konp-krech.ITPUB个人空间 TY2Hm \I5EG
 it_mat-kznep = konp-kznep .
`!?c!q"it&d+[0 it_mat-zterm = konp-zterm.ITPUB个人空间;pJ1m ms
 it_mat-valdt = konp-valdt.ITPUB个人空间yX vZ[5J"K)uf@)e
 it_mat-valtg = konp-valtg.ITPUB个人空间!}d+G7r_$XP
 modify it_mat.ITPUB个人空间P$a.Ui?&OV0J.IV
 endselect.ITPUB个人空间w;ZVx6T D8kS6e
 endselect.
3Oz&YL*p0AZ*k|0 endloop.ITPUB个人空间dC:V4tR"s Y(d#S
 it_price_list2[] = it_price_list[].
`?.]w&C6c0 endcase.
/fBV*EKQ ?0endform. "query_matnr
a&A-i F;nl3D2t0s/o0
tJk0H}Kuw*D0
O R6k dP"Hp$z-yx0*&--------------------------------------------------------------------*ITPUB个人空间0?G$`%zf4g
*& Form. get_so_po
~*Z6LxUD0*&--------------------------------------------------------------------*ITPUB个人空间B.A&C5S3tR
* according to material get division/OSGD SO,PO
u#]G Q-f6~sF'L0*---------------------------------------------------------------------*
X2Y;M/H9vF#Mu|u0form. get_so_po.ITPUB个人空间 j7@6g6_ s_7J

7? jZk8K j:\0 case so_type .ITPUB个人空间(f_)F2UKskU1dd
 when 'ELP'.
mJO'}vS+F0 perform. get_elp_so_po .
5G!|4j0Ct1K1S9D[ty0ITPUB个人空间0PE2\SCB hq$t1H
 when 'OSGD'.ITPUB个人空间jKY `'jG
 perform. get_osgd_so_po .ITPUB个人空间%@j.wN7b I(|q4q YiV"C}
ITPUB个人空间"J7v4D\9Jn
 when 'BOTH'.
3P-?]$f0yb0 perform. get_elp_osgd_so_po .
r-?&]8~*tlLS0
dMI-rnIpR0 when 'NOR'.
0KB!ub A0 perform. get_elp_osgd_so_po .ITPUB个人空间%brY~k-`8~o1l G

[y+}3rf TLjS0 endcase.
Q4C-`z.u ODow0ITPUB个人空间#l _.SsZD)`9EG
endform. "get_so_poITPUB个人空间 o}h~!t9g*] F
*&--------------------------------------------------------------------*ITPUB个人空间(o fSZt$`Sc
*& Form. get_elp_so_po
TM.J,Si+@bFX-U0*&--------------------------------------------------------------------*ITPUB个人空间 e `'w0| y S
* get division SO,OSGD PO
"V.szOU+Y0*---------------------------------------------------------------------*
1E:H`!^:T0form. get_elp_so_po .
6U8V"v[a)TU0 refresh it_so_po_price.ITPUB个人空间;lAZe ]
* get division SO, OSGD PO . DIV SO-> OSGD POITPUB个人空间]@0RG_-C
 loop at it_mat where change = 'X'.
G w2~IO|:]0 select vbak~kunnr vbak~vkorg vbap~vbeln vbap~posnr vbap~matnr makt~maktx vbak~bstnk vbap~posex vbup~gbsta vbup~lfstaITPUB个人空间EAE"ang_:|3h
 appending corresponding fields of table it_so_po_priceITPUB个人空间 `9S#s.[5bL
 from vbap inner join vbup on vbup~vbeln = vbap~vbeln and vbup~posnr = vbap~posnrITPUB个人空间?Etn \+A QH8qQM
 inner join vbak on vbap~vbeln = vbak~vbelnITPUB个人空间!W/`HBm!zzx
 inner join makt on makt~matnr = vbap~matnrITPUB个人空间i-V$]jL,v
 where makt~spras = sy-langu and " language -englishITPUB个人空间%ryE:h\W#Mt:f7T
 vbup~gbsta = 'A' and " sales order status- open
w-s b qLV;J0 vbak~vkorg = '2302' and "for division. sales org is 2302ITPUB个人空间;f,X$\!]'i
 vbap~matnr = it_mat-matnr .ITPUB个人空间1?3s g+J2a6^Dgg
ITPUB个人空间+}T3W v v
 loop at it_so_po_price where matnr = it_mat-matnr .
s5TH-gb0 if it_so_po_price-posex <> space .
1j{,n8yZ0 it_so_po_price-ebeln = it_so_po_price-bstnk.
#r(QeY2C!PCS:K0 it_so_po_price-ebelp = it_so_po_price-posex.
c;THp*^/W0 it_so_po_price-kbetr = it_mat-kbetr2.ITPUB个人空间qY$ehkOUZB0N
 it_so_po_price-konwa = it_mat-konwa.ITPUB个人空间b:x"J5c W/lqo~&|yB
 perform. get_domain_desc using 'STATV' it_so_po_price-lfsta changing it_so_po_price-status.ITPUB个人空间s @4ItY,e.a`)@E
ITPUB个人空间xSY O0J6Pm*Y
 modify it_so_po_price.
4m\ h8aX0 endif.
A dVY\/t4h5f0 endloop.ITPUB个人空间y0xb%x%R

5i$fH:lS `m0 endloop.
es-nt~i+^0ITPUB个人空间%f{jA ]/|%BNU M
ITPUB个人空间g ]C%Z3h1D
endform. "get_elp_so_poITPUB个人空间+^:u {D Z%~`D%Bn+\
*&--------------------------------------------------------------------*ITPUB个人空间-F T c2Q8\x2D(E
*& Form. get_osgd_so_po
nve&n;H5\h)|0*&--------------------------------------------------------------------*
8}8F&?QnQ Ba J0* GET OSGD SO,sales office PO
o\&O{B,@?*C0*---------------------------------------------------------------------*
Y \OHA5fD8^0form. get_osgd_so_po.ITPUB个人空间kJ@l_#[R
 refresh it_so_po_price.
7n*nz7Z {N.s0W H0* for non-EU
o+@v v;b0* get OSGD SO,sales office PO. OSGD SO-> sales office POITPUB个人空间i!X `1xV4?@/W)O^
ITPUB个人空间,IO'V&VFC3PG
 loop at it_mat where change = 'X'.ITPUB个人空间 yt8J:RX)chGq
 select vbak~kunnr vbak~vkorg vbap~vbeln vbap~posnr vbap~matnr makt~maktx vbak~bstnk vbap~posex vbup~gbsta vbup~lfsta
c%aw"E k {.EP0 appending corresponding fields of table it_so_po_priceITPUB个人空间U!no @6Z!G6S]*u
 from vbap inner join vbup on vbup~vbeln = vbap~vbeln and vbup~posnr = vbap~posnr
pv%k8B#Xw-r;U0 inner join vbak on vbap~vbeln = vbak~vbelnITPUB个人空间:Fe5dei0Y u[P
 inner join makt on makt~matnr = vbap~matnr
\:vz5I P9kE f)?0 where makt~spras = sy-langu and " language -englishITPUB个人空间 WXnF7?!zl
 vbup~lfsta <> 'C' and " not complete delivery
:G1~L!jA[0 vbak~vkorg in ('7101','8101','8201','8301','8302') and "for non-EU OSGD.ITPUB个人空间!jTDH'] \Ra
 vbap~matnr = it_mat-matnr .
x2`r.gv9[&`]'k0
f'R$md!eX)~K0 loop at it_so_po_price where matnr = it_mat-matnr .ITPUB个人空间4_x$LY$g
 if it_so_po_price-posex <> space .ITPUB个人空间R&?U.S5?)rM
 it_so_po_price-ebeln = it_so_po_price-bstnk.
dD,Uc2{w-V0 it_so_po_price-ebelp = it_so_po_price-posex.
AW-gID0 it_so_po_price-kbetr = it_mat-kbetr2.
V3X)K+sK?a$j0 it_so_po_price-konwa = it_mat-konwa.ITPUB个人空间,k#`^s5G`6]-p6Oah4n
 perform. get_domain_desc using 'STATV' it_so_po_price-lfsta changing it_so_po_price-status.ITPUB个人空间#Bv})yN
 modify it_so_po_price.
p4[z/Wh j+\)G0 endif.ITPUB个人空间G5T'K:lix
 endloop.ITPUB个人空间,Om&jz|
 endloop.
k}|$Eh0* for EUITPUB个人空间7f n~"npo,Glj
* get OSGD SOITPUB个人空间G};vR2J
 loop at it_mat where change = 'X'.
,@'_NS2F%B0 select vbak~kunnr vbak~vkorg vbap~vbeln vbap~posnr vbap~matnr makt~maktx vbup~gbsta vbup~lfstaITPUB个人空间z/Z0~:hr d%Kop
 appending corresponding fields of table it_so_po_price
_*QJ&i| ? h0 from vbap inner join vbup on vbup~vbeln = vbap~vbeln and vbup~posnr = vbap~posnrITPUB个人空间Fhj?}!Q
 inner join vbak on vbap~vbeln = vbak~vbeln
a$M.],Mb9zG1P:] h;{0 inner join makt on makt~matnr = vbap~matnr
tr/`0w IW cTK R0 where makt~spras = sy-langu and " language -english
}0k)Jo+`U(jw0 vbup~lfsta <> 'C' and " not complete delivery
+rY$Z!}cg_0 vbak~vkorg in ('5101','5201','5301','5302','5401','5501','5502') and "for EU OSGD.
{JrAe/IT0 vbap~matnr = it_mat-matnr .
)Odm%}J W&Pll0ITPUB个人空间\'_:xW}Q
 endloop.
Yzxd a0* set price ,currency field value
Fb x F)oYo6^-H9l0 loop at it_so_po_price.
#o%r X@b u/Z}0|0 read table it_mat with key matnr = it_so_po_price-matnr change = 'X'.ITPUB个人空间mX'L-Z^f;} o
 if sy-subrc = 0 .
7^)C$T;FD {(bH0 it_so_po_price-kbetr = it_mat-kbetr2.
H]G Z0E%M'A:l p0 it_so_po_price-konwa = it_mat-konwa.ITPUB个人空间r,T,OZ&J!`O
 perform. get_domain_desc using 'STATV' it_so_po_price-lfsta changing it_so_po_price-status.
w?!@j1]N'\0 modify it_so_po_price.
v K#[h+v?xWC0 endif.
"MnE ]8i\*K:t6SL0 endloop.
oG!|NHB7N0endform. "get_osgd_so_poITPUB个人空间 f5`9kz T%Xv _J
*&--------------------------------------------------------------------*ITPUB个人空间/}$Ha*O;@
*& Form. get_elp_osgd_so_po
#j ]+Y G {5FO9T0*&--------------------------------------------------------------------*ITPUB个人空间0Wb_chN!m6]
* get division SO,OSGD PO,OSGD SO, sales office POITPUB个人空间UX g,rn
*---------------------------------------------------------------------*ITPUB个人空间-l`'d8x;mX/XU
form. get_elp_osgd_so_po.ITPUB个人空间+pmJ^FF
 refresh it_so_po_price.ITPUB个人空间9]-AZa Nw1@:CR
* NON EU Cases : DIVISION SO (ZREV) -> OSGD PO (PB00) -> OSGDD SO (ZREV) ->SALES OFFICE PO (PB00)ITPUB个人空间3a.TiC/NvH:]
* EU Cases : DIVISION SO (ZREV) -> OSGD PO (PB00) -> OSGD (PI03) SOITPUB个人空间&m^/[*e&y
* first, get division SO, OSGD PO . DIV SO-> OSGD PO
4l4yptYq0{Rk/G c R0 loop at it_mat where change = 'X'.
"C)Vo)]&Eo@;U0 select vbak~kunnr vbak~vkorg vbap~vbeln vbap~posnr vbap~matnr makt~maktx vbak~bstnk vbap~posex ekko~submi vbup~gbsta vbup~lfstaITPUB个人空间;~3N ^ tw E8mb
 appending corresponding fields of table it_so_po_priceITPUB个人空间/rA)r4cq
 from vbap inner join vbup on vbup~vbeln = vbap~vbeln and vbup~posnr = vbap~posnr
9wDxMwxs0 inner join vbak on vbap~vbeln = vbak~vbeln
5D7`@T/`ZK7g0 inner join ekko on ekko~ebeln = vbak~bstnkITPUB个人空间1lOK2XN_'d
 inner join makt on makt~matnr = vbap~matnrITPUB个人空间1Gj J%\ {H iX p
 where makt~spras = sy-langu and " language -englishITPUB个人空间vSESQ"d$Xs
 vbup~gbsta = 'A' and " sales order status- openITPUB个人空间k zv(`a {3T
 vbak~vkorg = '2302' and "for division. sales org is 2302ITPUB个人空间Kb K u9P7T4D
 vbap~matnr = it_mat-matnr .ITPUB个人空间4NU8C3k)zu

X"o@D(X3f0 loop at it_so_po_price where matnr = it_mat-matnr .
0t;h/~H.qv kT0 if it_so_po_price-posex <> space .
skF4`$d0 it_so_po_price-ebeln = it_so_po_price-bstnk.ITPUB个人空间/v*{!S(m,l1{V&T
 it_so_po_price-ebelp = it_so_po_price-posex.ITPUB个人空间4F,m0aI*O j
 it_so_po_price-kbetr = it_mat-kbetr2.
\*aJ)W'd3e7U0 it_so_po_price-konwa = it_mat-konwa.
;},g7o_,LNS6A0 perform. get_domain_desc using 'STATV' it_so_po_price-lfsta changing it_so_po_price-status.ITPUB个人空间-k'l8] T#]r2O
 modify it_so_po_price.
q _7S*xV*W0 endif.ITPUB个人空间 l#n PSH0j&L(R
 endloop.ITPUB个人空间/V}A"l@"CiIOW

+DcI&q5}+@S3jQ|1dWM0 endloop.ITPUB个人空间XC$cyjz
* second, get OSGD SO. OSGD PO-> OSGD SO; OSGD SO-> sales office POITPUB个人空间'TkJ.iq`

2|v Ib|:j9U;{"M0 it_so_po_price1[] = it_so_po_price[].ITPUB个人空间;C-w-na$mT;T,b5w
 loop at it_so_po_price1 where submi <> space.
*Gjrd8t:GJ&we0 it_so_po_price1-kunnr = ''.
&o]/s | R D\ zz-I9KX0 it_so_po_price1-vbeln = ''.ITPUB个人空间p,|1moP0zh7X8|m&F I
 it_so_po_price1-gbsta = ''.
qKJ}X0 it_so_po_price1-ebeln = ''.
a3U;m El0 it_so_po_price1-ebelp = ''.
uYQ/]%WZ0 select single * from vbak where vbeln = it_so_po_price1-submi .
jej+Y;D}(xN"x9i3I0 if sy-subrc = 0.ITPUB个人空间,b s-U,gy0[g
 it_so_po_price1-kunnr = vbak-kunnr.
d:zg3^9dQ|0 it_so_po_price1-vkorg = vbak-vkorg.
DL\7C~5p#ub t0 select single * from vbup where vbeln = it_so_po_price1-submi .
)PS6z[{;n8|A3Q%{c0 if sy-subrc = 0 .ITPUB个人空间y0aTbbOy dC
 it_so_po_price1-vbeln = vbup-vbeln.ITPUB个人空间ES8wz+]x%eut1@'R
 it_so_po_price1-gbsta = vbup-gbsta.ITPUB个人空间7nDj Jtu
 perform. get_domain_desc using 'STATV' vbup-lfsta changing it_so_po_price1-status.
ton(R0Fhwav0 select single * from ekpo where ebeln = vbak-bstnk.
tWI*]3V{%]L*^CZ/x0 if sy-subrc = 0 .
X)S_/U-qr3J0 it_so_po_price1-ebeln = ekpo-ebeln.ITPUB个人空间$m9g~+Akw3P
 it_so_po_price1-ebelp = ekpo-ebelp.ITPUB个人空间]bg&L1_"jH
 endif.ITPUB个人空间 Fp n.Z$Y }&o4yc
 append it_so_po_price1 to it_so_po_price .
\.s2zD.K'ST{0 endif.ITPUB个人空间6m&pW9XS%n.tfk({
ITPUB个人空间f0U9e"[5sZZ
 endif.ITPUB个人空间h m R]3k#@
 endloop.
;Y|A-c t Z4Z0* set price ,currency field valueITPUB个人空间 wRZ2G B ap#D-W2[ c
 loop at it_so_po_price where ebeln <> space .
7xy:])gLp0 read table it_mat with key matnr = it_so_po_price-matnr change = 'X'.ITPUB个人空间 OZ}K$G a zQ
 if sy-subrc = 0 .ITPUB个人空间VPM-VS4G9F0F:Y${$x
 it_so_po_price-kbetr = it_mat-kbetr2.
T o;I:`8za+?}0 it_so_po_price-konwa = it_mat-konwa.ITPUB个人空间;Cg.d6z~Oy
ITPUB个人空间ulqk R:s!wU!GCl
 modify it_so_po_price.ITPUB个人空间OCJ bE
 endif.
qM;?"z*B0 endloop.ITPUB个人空间LY(a6C:Qk
endform. "get_elp_osgd_so_poITPUB个人空间}zy}/Yb5G}3~1D
ITPUB个人空间Lg @8V9lm
*&--------------------------------------------------------------------*ITPUB个人空间8s.S re da!xy
*& Form. UPDATE_MODEL_PRICEITPUB个人空间 w:l G-e%q'L&h+|
*&--------------------------------------------------------------------*
rt!dfxv"hFduW0* update sales org/model, the table name is 958ITPUB个人空间~{f!iee
* update sales org/customer/model, the table name is 957
h8Mp"Z#U]T5s0*---------------------------------------------------------------------*ITPUB个人空间0av^jr(wO
form. update_model_price using tablenumber.ITPUB个人空间8I:KWT(i O-?$U;W,G(B
 refresh ta_bapicondhd.ITPUB个人空间E R0]pb
 refresh ta_bapicondct.
tdCf{0 refresh ta_bapicondit.ITPUB个人空间 B8UV e N sP0J"L)wZ
 loop at it_price_list2 where change = 'X'.
&@^(|7Mi+h)~:`s/R0 case tablenumber.
/D!F K \#}t7c,gw0 when '958'. " for change modelITPUB个人空间M-s0YQraK,n
 concatenate it_price_list2-vkorg it_price_list2-rke_mvgr1 into h_varkey.ITPUB个人空间*L`uFY`K
ITPUB个人空间t~ hi*Z(JG
 when '957'. " for change customerITPUB个人空间#yh!f'O1qPD
 concatenate it_price_list2-vkorg it_price_list2-kunnr it_price_list2-rke_mvgr1 into h_varkey.
lfnA3LXOOT:nV0 endcase.ITPUB个人空间h#j%Z pc,rjg
*conditietabelITPUB个人空间3]s}&Y1h` g
 wa_bapicondct-table_no = tablenumber. " mining a958 for model tableITPUB个人空间 ] Ce Jl;Y [ a
 wa_bapicondct-applicatio = 'V'.
J&X$x#H#S7K*U0 wa_bapicondct-cond_usage = 'A'.ITPUB个人空间!e ?N i\2P-B
 wa_bapicondct-cond_type = it_price_list2-kschl.ITPUB个人空间dS*p'm,L){G9KF
 wa_bapicondct-operation = '004'.ITPUB个人空间8f!qh:n8Q(bI9[
 wa_bapicondct-varkey = h_varkey.ITPUB个人空间-k\SWe!^:sl g
 wa_bapicondct-valid_to = '99991231'.
j9@(vO$G%}0 wa_bapicondct-valid_from = it_price_list2-datab.ITPUB个人空间)v0Y0QT[
 wa_bapicondct-cond_no = '$000000001'.ITPUB个人空间:N*|7vx&~#wM
ITPUB个人空间j)v q'uV:s)H
 append wa_bapicondct to ta_bapicondct.
hn&Rk z W&_0ITPUB个人空间%b+^/p(A^ { v
*KONHITPUB个人空间$F$|1Z1N,et
 wa_bapicondhd-operation = '004'.ITPUB个人空间N%l K4|sA5{
 wa_bapicondhd-cond_no = '$000000001'.ITPUB个人空间4|k I},W!V Rx
 wa_bapicondhd-created_by = sy-uname.
%V-R"B~g {d0 wa_bapicondhd-creat_date = sy-datum.ITPUB个人空间U u}i q{)}
 wa_bapicondhd-cond_usage = 'A'.
#G+] `,p&Y)yE0 wa_bapicondhd-table_no = tablenumber.
M-_6b2?,n'[A7?gRB0 wa_bapicondhd-applicatio = 'V'.ITPUB个人空间4t_r{BS O
 wa_bapicondhd-cond_type = it_price_list2-kschl.
!k4CtM(wF.i%T0 wa_bapicondhd-varkey = h_varkey.
ex(C&a2rZh/w0 wa_bapicondhd-valid_from = it_price_list2-datab.ITPUB个人空间^}YrQ's
 wa_bapicondhd-valid_to = '99991231'.
4~ p!zO+L"R0ITPUB个人空间 u&O&?&HR:w.a6Q kE H

9xe H G0YLxq!?0 append wa_bapicondhd to ta_bapicondhd.ITPUB个人空间9g @w+R(n

7P9j-JTZ6w g0
-X+?3Ql:o8K+aN0*KONP tabelITPUB个人空间0g|4t'O3tQ8B
 wa_bapicondit-operation = '004'.ITPUB个人空间:\7v+d pPxr%z2J I&c
 wa_bapicondit-cond_no = '$000000001'.ITPUB个人空间Vn(kDMn
 wa_bapicondit-cond_count = '01'.
"Cd,xd!K.U~O0 wa_bapicondit-applicatio = 'V'.ITPUB个人空间dM*p5} G^K@%a
 wa_bapicondit-cond_type = it_price_list2-kschl.
7y3G)s G r'b&nK)I0 wa_bapicondit-scaletype = 'A'.
r&wsX*{?e;d0* wa_bapicondit-scalebasin = 'C'.
o#},]W1I+b``0* wa_bapicondit-scale_qty = '1'.ITPUB个人空间m`n_&wk LCO
 wa_bapicondit-cond_p_unt = it_price_list2-kpein.
6R3]?Y#`t&b"\;r0 wa_bapicondit-cond_unit = it_price_list2-kmein.
)`.u(Y LY2D4G|pG+B0 wa_bapicondit-calctypcon = it_price_list2-krech.
,fP)k0@!Dz(]0 wa_bapicondit-exclusion = it_price_list2-kznep.
[ PkR,d4N@x j0 wa_bapicondit-pmnttrms = it_price_list2-zterm.ITPUB个人空间rY%KS^7i
 wa_bapicondit-fix_val_dy = it_price_list2-valdt.
!b%uk7z7K&tMo3`0b0 wa_bapicondit-add_val_dy = it_price_list2-valtg.
7Zh1HB7U%J:`0 wa_bapicondit-cond_value = it_price_list2-kbetr2.ITPUB个人空间9r6M-}8g UL$L0~D
 wa_bapicondit-condcurr = it_price_list2-konwa.ITPUB个人空间7{!Gq'A*q
 wa_bapicondit-condcurren = it_price_list2-konwa.ITPUB个人空间5Y~ k^Q
 wa_bapicondit-conditidx = '$000000001'.ITPUB个人空间1eu+O.V4Lp3t N;E
ITPUB个人空间{$m?+H,a V`b-U3NW
 append wa_bapicondit to ta_bapicondit.
)|,H/K[U0
P/PP3YCp/[0 call function 'BAPI_PRICES_CONDITIONS'
@4psM-N j4h0}0* EXPORTING
FB3s G4~Y0* PI_INITIALMODE = 'X'ITPUB个人空间3Zf0K\0n2|q H
* PI_BLOCKNUMBER =ITPUB个人空间$_Lyh8`*w
 tablesITPUB个人空间"w|ksaVQ
 ti_bapicondct = ta_bapicondctITPUB个人空间l?Pxi n&Z5H
 ti_bapicondhd = ta_bapicondhd
!zV8^ ni{/Qg0 ti_bapicondit = ta_bapiconditITPUB个人空间 bhi&_%a8Zc+Qmb Q
 ti_bapicondqs = ta_bapicondqsITPUB个人空间(~&]fv ys_9f g{
 ti_bapicondvs = ta_bapicondvsITPUB个人空间2z*w8h.t"EpI7R!Gwn
 to_bapiret2 = ta_bapiret2
OJ4c$a)GR_0 to_bapiknumhs = ta_bapiknumhs
.M.W/k XV~1c0 to_mem_initial = ta_mem_initialITPUB个人空间^&CAmA5m5z
 exceptionsITPUB个人空间x r}G.RD)[v4G
 update_error = 1
Py+\NL!D5p|0 thers = 2
:~TO*HFH'A7p0 .ITPUB个人空间!F Jl4kLUA
 read table ta_bapiret2 with key type = 'S'.ITPUB个人空间} MnHhT |"Z;r V U
 if sy-subrc = 0.
PM }6A!j1lfz#~6u?V0 call function 'BAPI_TRANSACTION_COMMIT'.ITPUB个人空间 w A+`!R cqP'D$j
 message s002(sy) with 'Update model price successfully!'.
!\9~-A2r d1J0 else.
Xk8QD4\sH0 message s002(sy) with 'Update model price failed!'.
uz.o#}lc3@qE0 endif.ITPUB个人空间z C\_3V|R#y"R

e9v8L#x:R e0?8n0ITPUB个人空间3ig5f7`3rx!s9^[
 endloop.ITPUB个人空间GGTT@;|$?
ITPUB个人空间:YR*P"U#Ci+xNx W$R
endform. "UPDATE_MODEL_PRICEITPUB个人空间)J ? Ez I&~
ITPUB个人空间X/a~!Z3M?/B

E#o:nKl7h(Z7D:l p2y0*&--------------------------------------------------------------------*ITPUB个人空间]R2w2S zx"|)p
*& Form. update_material_priceITPUB个人空间,o.`N ^KjSl c%e
*&--------------------------------------------------------------------*
`sRk(P;Tt RD)h0* update sales org/material, the table name is 993
/f&O?6zNd ],J0* update sales org/customer/material, the table name is 999
P.F.nPm#` Qa'a0*---------------------------------------------------------------------*
Gu%Vr,[C r0form. update_material_price using tablenumber.ITPUB个人空间 \j\,G{H0sW;F
 refresh ta_bapicondhd.
/t%Z H XmesV0 refresh ta_bapicondct.
z{BKV H*[|#Kh0 refresh ta_bapicondit.ITPUB个人空间'P6l&wz h

1b d5A9l B0 loop at it_mat where change = 'X' and kbetr <> 0.ITPUB个人空间5H4O%J!ng ly0~f"V
 case tablenumber.
_)vZQG,E`0 when '993'. " for change model materialITPUB个人空间.XR#I;@p
 concatenate it_mat-vkorg it_mat-matnr into h_varkey.
xI hk3l#T0ITPUB个人空间[yg!j)d+d ?.dN$k
 when '999'. " for change customer mateiralITPUB个人空间.O-G+l+V2l)a
 concatenate it_mat-vkorg it_mat-kunnr it_mat-matnr into h_varkey.ITPUB个人空间5t4e$YE"y
 endcase.
1z EfL_(\Aax0p a0*conditietabel
,f+c @*i MXl0 wa_bapicondct-table_no = tablenumber. " mining a958 for model tableITPUB个人空间P*rAJO)nIb
 wa_bapicondct-applicatio = 'V'.
*Wup,c9a-W;BI0 wa_bapicondct-cond_usage = 'A'.ITPUB个人空间 E,bOgb'ZI
 wa_bapicondct-cond_type = it_mat-kschl.
3[}-p d/]2P|]0 wa_bapicondct-operation = '004'.
9t2?MZS#a-[ H0 wa_bapicondct-varkey = h_varkey.
~A IX3?+p0_0 wa_bapicondct-valid_to = '99991231'.
R;f DW/|v0 wa_bapicondct-valid_from = it_mat-datab.ITPUB个人空间uYF&^`
 wa_bapicondct-cond_no = '$000000001'.ITPUB个人空间)dp N];C

.R0w0DQfnI6o?0 append wa_bapicondct to ta_bapicondct.ITPUB个人空间y ij{2VN4AR[
ITPUB个人空间 [3? iC"Q&B
*KONHITPUB个人空间Kf m1vV.JO9X
 wa_bapicondhd-operation = '004'.ITPUB个人空间*Z'HAy2}S~
 wa_bapicondhd-cond_no = '$000000001'.
nieA BE5n0 wa_bapicondhd-created_by = sy-uname.ITPUB个人空间D:`2V R6|Q.a'N
 wa_bapicondhd-creat_date = sy-datum.ITPUB个人空间Ss@]$T1?
 wa_bapicondhd-cond_usage = 'A'.
8^:wQy{F2z0 wa_bapicondhd-table_no = tablenumber.ITPUB个人空间@NtIa|
 wa_bapicondhd-applicatio = 'V'.
?nTB'nX%x1t X#c0 wa_bapicondhd-cond_type = it_mat-kschl.ITPUB个人空间#DI p_6GL
 wa_bapicondhd-varkey = h_varkey.ITPUB个人空间8v7hRU3y9_/H
 wa_bapicondhd-valid_from = it_mat-datab.ITPUB个人空间lp#kU!mJ V,c1[Z
 wa_bapicondhd-valid_to = '99991231'.
Wf b2G:TVa q?0ITPUB个人空间y3s|0_/y
ITPUB个人空间c{ ?~a/tyDB,j
 append wa_bapicondhd to ta_bapicondhd.ITPUB个人空间}7v-nnM0a b
ITPUB个人空间]mV|R'jE.o@
ITPUB个人空间:v#KS2p[
*KONP tabel
2Zr7Oc%H0 wa_bapicondit-operation = '004'.
'}#^ n1[.G_ v0oF%P0 wa_bapicondit-cond_no = '$000000001'.ITPUB个人空间&{8G].S4J2LYd:yu$V)v.Tr
 wa_bapicondit-cond_count = '01'.
"@J5I`k&?m c`0 wa_bapicondit-applicatio = 'V'.
,P3d/@+I1DdG[!R0 wa_bapicondit-cond_type = it_mat-kschl.
7^(["O&w8{8D0 wa_bapicondit-scaletype = 'A'.
&j2W'\/MYJj0* wa_bapicondit-scalebasin = 'C'.ITPUB个人空间$o:[x]"f%U
* wa_bapicondit-scale_qty = '1'.ITPUB个人空间*U3n1sF6q1G)ckM
 wa_bapicondit-cond_p_unt = it_mat-kpein.ITPUB个人空间gO Tc g yZ,|5V
 wa_bapicondit-cond_unit = it_mat-kmein.ITPUB个人空间|2RE TTV'S
 wa_bapicondit-calctypcon = it_mat-krech.ITPUB个人空间$G|$Om&rEUr
 wa_bapicondit-exclusion = it_mat-kznep.ITPUB个人空间x7G2xxxb1Ed} IY)J F:L
 wa_bapicondit-pmnttrms = it_mat-zterm.ITPUB个人空间RV.y}^ o0QH+|
 wa_bapicondit-fix_val_dy = it_mat-valdt.
;h2bY6M+z"]+B)~0 wa_bapicondit-add_val_dy = it_mat-valtg.ITPUB个人空间uUq?zx
 wa_bapicondit-cond_value = it_mat-kbetr2.
aH `2@;oJ`R0 wa_bapicondit-condcurr = it_mat-konwa.
QG6M-`&w eTEk0 wa_bapicondit-condcurren = it_mat-konwa.ITPUB个人空间-s:L-E"`Q&i.w
 wa_bapicondit-conditidx = '$000000001'.ITPUB个人空间5W ~$Qgx+^ijx(Z

4Q-m \!DO(z0 append wa_bapicondit to ta_bapicondit.
h @5H%u GJ0ITPUB个人空间by;y-FMr@de
 call function 'BAPI_PRICES_CONDITIONS'ITPUB个人空间;gI }a0Z'_/i:J
* EXPORTING
q;_E$Sj4hV0* PI_INITIALMODE = 'X'ITPUB个人空间k4y+V^y6y
* PI_BLOCKNUMBER =
,p0x&|&a OtY0 tablesITPUB个人空间%nb wu+d6Ry7]
 ti_bapicondct = ta_bapicondct
D V^3SH%R0 ti_bapicondhd = ta_bapicondhd
9gOO&iy'X\+u0 ti_bapicondit = ta_bapiconditITPUB个人空间@,NA{2Z
 ti_bapicondqs = ta_bapicondqsITPUB个人空间w8Y6MV I bj}
 ti_bapicondvs = ta_bapicondvsITPUB个人空间S7mc8pG\ ~
 to_bapiret2 = ta_bapiret2ITPUB个人空间dO(C)L5u
 to_bapiknumhs = ta_bapiknumhs
o*a?A.P[\2t0 to_mem_initial = ta_mem_initial
!K6xGn-T1Az |'GJ0 exceptions
Kou]ar4sw(B0 update_error = 1ITPUB个人空间aiQ \6Dk$wS)Qa
 thers = 2
`0}})k0R!o-TI0 .
z wC(_x}-T(Z0 read table ta_bapiret2 with key type = 'S'.
+k/xs8U7jG.w0 if sy-subrc = 0.ITPUB个人空间!Q*K7c}cB7Q
 call function 'BAPI_TRANSACTION_COMMIT'.
9J/OP'F4i'A']0 message s002(sy) with 'Update material prices successfully!'.ITPUB个人空间9y my'^6XST h2f
 else.ITPUB个人空间7ZcQM5Q%rAu8{P
 message s002(sy) with 'Update material prices failed!'.ITPUB个人空间o {*rMN/Yp,Fm
 endif.ITPUB个人空间5Tj%z5k6gL Z9{4D

7];xf6eU+q }3o0ITPUB个人空间x8G!b9|u'MbN
 endloop.ITPUB个人空间%rq"^#~`z~BG4i p

c4}Bw8_"Ta X)Qq:Rt0endform. "update_material_price
6i&o'{`5fD%v0ITPUB个人空间aQh$R*Dm'T0p"do
*&--------------------------------------------------------------------*ITPUB个人空间i8e+yjahj1J
*& Form. update_inforecord_price
4o"fib-Y'L3W9FS0*&--------------------------------------------------------------------*
#PzC6K#\)L&a0* update info record price
!kED_)b4Q9G0*---------------------------------------------------------------------*
\8Va`J0form. update_inforecord_price.ITPUB个人空间)U+cZ*H@)f(fV
ITPUB个人空间tc[9Amf"B;l
 refresh ta_bapicondhd.ITPUB个人空间y7ll R&dr3~1e9k
 refresh ta_bapicondct.ITPUB个人空间Ks7H4E NJSlv"n
 refresh ta_bapicondit.ITPUB个人空间1K~ b4t0rb
ITPUB个人空间O4\@7_"pgDp S0vd
 loop at it_mat where change = 'X'.ITPUB个人空间,`2E~d-Xe*q
 refresh it_inforecord.ITPUB个人空间{:_qW*X3D
 if it_mat-kschl = 'ZSSP'. " for elp
h%l/eH3Kz0ITPUB个人空间 |ud;N)V
 select distinct eina~matnr eine~werks eina~lifnr eine~ekorg into corresponding fields of table it_inforecordITPUB个人空间l5i_Z!R|cv7YY
 from eina inner join eine on eina~infnr = eine~infnr where eina~matnr = it_mat-matnr and
t qgb%\(B%Q?0 eine~ekorg = '9101' and eine~werks <> space.
oC c9kPK0ITPUB个人空间v4_Wv*VV'I K7H
 elseif it_mat-kschl = 'ZSRP' or it_mat-kschl = 'ZP12'. " for OSGD
7uA$]!P?"^uLQ9M`0
%LGM6dw?!W-f ]L0 select distinct eina~matnr eine~werks eina~lifnr eine~ekorg into corresponding fields of table it_inforecord
'E+is2BpLg0 from eina inner join eine on eina~infnr = eine~infnr where eina~matnr = it_mat-matnr andITPUB个人空间'P6{_y @
 eina~lifnr = '9101' and eine~werks <> space.ITPUB个人空间!Q n"g#Q:He/o

7Vj };X3IMG0 else. "for both of elp and osgd
1~!\%[-H*n;P?0 select distinct eina~matnr eine~werks eina~lifnr eine~ekorg into corresponding fields of table it_inforecord
d6Ql$n/W0 from eina inner join eine on eina~infnr = eine~infnr where eina~matnr = it_mat-matnr andITPUB个人空间.`|$d-~-qZ| bP
 eine~werks <> space.ITPUB个人空间 ]"B4|.f5L cL
 endif.
kis^ b(f6L0ITPUB个人空间z*sw7Rr4f
ITPUB个人空间&IK4C3Cs.]v
 loop at it_inforecord.
n.U:H|-m8D~;oc0 refresh ta_bapicondct.
$X8QU4D-}DT#a0 refresh ta_bapicondhd.
9Oip4d'y9Jd0 refresh ta_bapicondit.ITPUB个人空间DP[ q8WS6q8u1s{
 refresh ta_bapiret2.ITPUB个人空间i+gb)[3H~bd
*conditietabel
N-X\B[F0 concatenate it_inforecord-lifnr it_inforecord-matnr into h_varkey.ITPUB个人空间 G {q5AK3_b
 concatenate h_varkey it_inforecord-ekorg into h_varkey separated by ' '.
&o&z U0\~ O euhI0 concatenate h_varkey it_inforecord-werks '0' into h_varkey .
w[9N:~2b5Bu([-[0
J%O,vw!`'cB nI0 wa_bapicondct-table_no = '017'.
} H_a KR?G0 wa_bapicondct-applicatio = 'M'.ITPUB个人空间 R(N"n:Al \.|w1~%Yvs
 wa_bapicondct-cond_usage = 'A'.ITPUB个人空间Dc&HG$oe+?%| m-C Y)c'c;p
 wa_bapicondct-cond_type = 'PB00'.
(uZI{w0 wa_bapicondct-operation = '004'.ITPUB个人空间wF][_-c2L7X[7n
 wa_bapicondct-varkey = h_varkey.
l#Y(n'IG%C/y0 wa_bapicondct-valid_to = '99991231'.ITPUB个人空间2n8b4D&M_U
 wa_bapicondct-valid_from = it_mat-datab.
R;U3sM*F&N0 wa_bapicondct-cond_no = '$000000001'.
k!P{E9Cn \L0ITPUB个人空间 f-t2iP~X{
 append wa_bapicondct to ta_bapicondct.
;B(BO?4?p(y0ITPUB个人空间7oOye_v
*KONHITPUB个人空间qTD"OO
 wa_bapicondhd-operation = '004'.
]8jygdVb;}t:J0 wa_bapicondhd-cond_no = '$000000001'.ITPUB个人空间M:^t:wCxS
 wa_bapicondhd-created_by = sy-uname.
6wO7v;p$x0 wa_bapicondhd-creat_date = sy-datum.
j Dtta9b$Q0 wa_bapicondhd-cond_usage = 'A'.ITPUB个人空间&iSHRA*`&R(f J? X
 wa_bapicondhd-table_no = '017'.ITPUB个人空间2m!MV|)fA
 wa_bapicondhd-applicatio = 'M'.ITPUB个人空间@%^/[#^e||
 wa_bapicondhd-cond_type = 'PB00'.ITPUB个人空间[r hY.{%fh,a I,x5p r
 wa_bapicondhd-varkey = h_varkey.
2p)L2a T z jynk0 wa_bapicondhd-valid_from = it_mat-datab.
Y&iCV`?,`1C0 wa_bapicondhd-valid_to = '99991231'.
%rYv/P!gP9n8?0
&e{ U/P~0
5a K_W$K0 append wa_bapicondhd to ta_bapicondhd.
Z l$Cj5S!B z1Kc0ITPUB个人空间k2\DG"BW VE L?$p
ITPUB个人空间YPF$}2tt,_&Q f\n
*KONP tabel
^m&KyGF0 wa_bapicondit-operation = '004'.ITPUB个人空间"m~J7o)g.Q'n2l,hK,h
 wa_bapicondit-cond_no = '$000000001'.ITPUB个人空间eS4T @C2Xo2K
 wa_bapicondit-cond_count = '01'.ITPUB个人空间 {)_ WE5x*U L
 wa_bapicondit-applicatio = 'M'.ITPUB个人空间-t^ p Y&\MX-^i i
 wa_bapicondit-cond_type = 'PB00'.
HoRQ_3dB0Y8f0 wa_bapicondit-scaletype = 'A'.
4m+F+m;F|0 wa_bapicondit-cond_p_unt = it_mat-kpein.ITPUB个人空间8PzN#Erm.A
 wa_bapicondit-cond_unit = it_mat-kmein.
N`V)?k0Kik0 wa_bapicondit-calctypcon = it_mat-krech.
!I!w,r(ztf8]0 wa_bapicondit-exclusion = it_mat-kznep.
*r9O(`1{v0 wa_bapicondit-pmnttrms = it_mat-zterm.
[dH!r9k~#uGucM0 wa_bapicondit-fix_val_dy = it_mat-valdt.
6ODt*x(K1M w-zG'~0 wa_bapicondit-add_val_dy = it_mat-valtg.ITPUB个人空间;XU"@n2`3q t
 wa_bapicondit-cond_value = it_mat-kbetr2.ITPUB个人空间v6ir?Ag
 wa_bapicondit-condcurr = it_mat-konwa.ITPUB个人空间jB5KO-iZ i
 wa_bapicondit-condcurren = it_mat-konwa.ITPUB个人空间?*f"|Cm g`3`#rt"p
 wa_bapicondit-conditidx = '$000000001'.ITPUB个人空间/l4E!LVi"uL
ITPUB个人空间{R+F4lC;k]
 append wa_bapicondit to ta_bapicondit.ITPUB个人空间_$MIV)T2p0AJ5s
ITPUB个人空间h6_m1|KN V+G
 call function 'BAPI_PRICES_CONDITIONS'ITPUB个人空间3D"^v B G8x'T
 tables
K7{ v'w!h@0 ti_bapicondct = ta_bapicondctITPUB个人空间3X \g rdO
 ti_bapicondhd = ta_bapicondhd
LMn)|%z a0 ti_bapicondit = ta_bapiconditITPUB个人空间2Lok*aL"I
 ti_bapicondqs = ta_bapicondqs
RB n&ZW7M0 ti_bapicondvs = ta_bapicondvsITPUB个人空间 c6X7hyMG1{s
 to_bapiret2 = ta_bapiret2ITPUB个人空间U-[f;?@LH
 to_bapiknumhs = ta_bapiknumhs
[aq|Z0DP0 to_mem_initial = ta_mem_initial
n&Z%JV\w0 exceptionsITPUB个人空间B3h5Wn,v'giG4@w
 update_error = 1ITPUB个人空间k&wu/Bzw9s|^
 thers = 2.
|,Ppb+\W-XL3g,f0 read table ta_bapiret2 with key type = 'S'.ITPUB个人空间$M?\X N
 if sy-subrc = 0.
l;dn;B'r0_{c!s0 call function 'BAPI_TRANSACTION_COMMIT'.ITPUB个人空间Ab:X(W&CD uA
 message s002(sy) with 'Update info record prices successfully!'.
$|`X&c Fw$B\0 else.
W1|:B3B'~0 message s002(sy) with 'Update infor record prices failed!'.
|#Od qE8BU0 endif.
8B},ik8W"K\ a0
b,~wEEW0 endloop.ITPUB个人空间*tE;n&_,k^L2a
 endloop.ITPUB个人空间,rZ IUOU
endform. "update_inforecord_price
R|ONO5C;r!p Gx0*&--------------------------------------------------------------------*
7Q p-j7X+l8x8p0*& Form. update_po_price
kG6kD2Fc0*&--------------------------------------------------------------------*ITPUB个人空间TH4edH`l3C}!^
* update purchase order priceITPUB个人空间0y o!FC:@ sY v2t
*---------------------------------------------------------------------*
"|.djH)~Z$k3Ea0form. update_po_price .ITPUB个人空间5O8V+J*x4k[F W}"H;j

#|.r_'h6~RWZ0 refresh t_poitem.
"z;s&l'd[ro~;a8]1F J0 refresh t_poitemx.ITPUB个人空间?4wj*Y6_1m@
 refresh t_cond.
8Zt!b&Ik O-RNj0 refresh t_condx.
0]!\K)b%@;O:Y,rk0ITPUB个人空间4u:Kg wC:c \&iNS^2v
 t_poitem-po_item = it_so_po_price-ebelp.ITPUB个人空间m(ZMn `M MC6bO
 t_poitem-net_price = it_so_po_price-kbetr.ITPUB个人空间Q{&n|H
 append t_poitem.ITPUB个人空间+P!|!@6o8O.lz

&o#b4~(n/Z0 t_poitemx-po_item = it_so_po_price-ebelp.
*B@]7F_FZ#|5s0 t_poitemx-net_price = 'X'.ITPUB个人空间y0q z7j `8Ma
 t_poitemx-po_itemx = 'X'.
K$Ub5ga0 append t_poitemx.ITPUB个人空间6ZB WQ!iVf

tp"m o7Y P(J0 t_cond-itm_number = it_so_po_price-ebelp.ITPUB个人空间.H&z)Tl;i n
 t_cond-cond_type = 'PB00'.ITPUB个人空间g$dlUWU
 t_cond-cond_value = it_so_po_price-kbetr.
t%d^:x!q4BA0 t_cond-currency = it_so_po_price-konwa.ITPUB个人空间!B9[3H5En"rW$I(wx/`
 t_cond-change_id = 'U'.
1T { @+{_X!v!Z \0 append t_cond.
i ~D;b'z u!y ?&a%N:^0
.@DX{!p)]8jB3Ud`0 t_condx-itm_number = it_so_po_price-ebelp.ITPUB个人空间_/K#ZI cK:m
 t_condx-itm_numberx = 'X'.ITPUB个人空间/N ayQT"K.@tFy
 t_condx-cond_type = 'X'.ITPUB个人空间}iM\R!h
 t_condx-cond_value = 'X'.ITPUB个人空间 JXY$Zr:o e
 t_condx-currency = 'X'.ITPUB个人空间$Vn:f6QU
 t_cond-change_id = 'X'.
KV&Ug1ZQaF4`0 append t_condx.
L_ [)N S0
QJ3z3`vYXg(~:r0 call function 'BAPI_PO_CHANGE'
g`?B;o0 exportingITPUB个人空间b S8_"e;q,_@
 purchaseorder = it_so_po_price-ebeln
w#D.s%d J7h N"p0 tablesITPUB个人空间(wZI*t0VS8e"B
 return = t_returnITPUB个人空间Rj1U(J-ZS8J%S8o _Q
 poitem = t_poitemITPUB个人空间1B f4u2{F*O;]z@
 poitemx = t_poitemx
]Q5}|t4o+L.H&?0 pocond = t_cond
U2q GHZ6@.T0 pocondx = t_condx.ITPUB个人空间+GK[q?$U$r
 read table t_return with key type = 'E'.ITPUB个人空间G+z8a3`*x%rV9D J
 if sy-subrc = 0 .
:AxM4\F w;y0 it_message-word = t_return-message.
+h9o0ud_0 append it_message.ITPUB个人空间5B1R-[2hOO0gE
 else.
T-q4SLL+q s M0 call function 'BAPI_TRANSACTION_COMMIT'.ITPUB个人空间+tSiAz#I
 concatenate it_message-word 'and PO' it_so_po_price-ebeln 'with Item' it_so_po_price-ebelp
,K%be|o7G0 into it_message-word separated by ' ' .
O'|%j-^2E(ztQ-m0 append it_message.ITPUB个人空间pffes ~!| _X:?
 endif.ITPUB个人空间0|)L)Kc;_Y
ITPUB个人空间ScUd7akZe

vH4c0l u2Tf{)z-t_0endform. "update_po_priceITPUB个人空间:\O!n.]n]!P
ITPUB个人空间4hf%XU$f(qP&T

bp(]!N3`&MR0*&--------------------------------------------------------------------*
+tf"x*ejQr$Yb4ovO0*& Form. update_so_priceITPUB个人空间&g9A-R mC2v1M-c
*&--------------------------------------------------------------------*
C1pu5E%ZU*P0* update sales order priceITPUB个人空间n@3h;D"Ze
*---------------------------------------------------------------------*ITPUB个人空间4GaC z*qN4O?x&t(l
form. update_so_price .ITPUB个人空间1`"z:F$w-vNX
 data : cond_type like bapicond-cond_type .ITPUB个人空间[Xw1_2B2g K4Q#uU
 data : value type string.ITPUB个人空间qN%c\SN
 refresh it_conditions.ITPUB个人空间&[-y`:K{]
 refresh it_conditionsx.ITPUB个人空间-_Mmz*q"my/c.`?

a6Qfk)h0 if it_so_po_price-ebeln = space .ITPUB个人空间N S)hV~c-?]
 cond_type = 'ZPI3'.ITPUB个人空间iC+Gi `(U;ZE9?
 else.ITPUB个人空间KY5Q#G1zK} e5~%`b'i
 cond_type = 'ZREV'.ITPUB个人空间 Xo+} o,EJ6zV
 endif.
e Km%X$g0?*ki T0ITPUB个人空间|i;U"Q+u'J8S
 clear it_conditions.ITPUB个人空间-n@gC SZ+r*g
 it_conditions-itm_number = it_so_po_price-posnr.ITPUB个人空间r1?&Q6`cFV8~*J
 it_conditions-cond_type = cond_type.ITPUB个人空间9w;}ppQ cD8[6i%l
 it_conditions-cond_value = it_so_po_price-kbetr.
$k}n!Mqn5]G0 it_conditions-currency = it_so_po_price-konwa.ITPUB个人空间&p1AJ6]~J
ITPUB个人空间-_ H-G-IT
 append it_conditions.
K)g oI!T0r`7g*j'JK0
H^ ZNQ5VB5]A%S0 clear it_conditionsx.
6tc9S)u9{x0 it_conditionsx-itm_number = it_so_po_price-posnr.ITPUB个人空间d!_p-GU^
 it_conditionsx-cond_type = cond_type.
e BR+?k Bcm MA-L0 it_conditionsx-updateflag = 'U'. "Change
i&[3i@ s)y0 it_conditionsx-cond_value = 'X'.
k{Y/K}pc0 it_conditionsx-currency = 'X'.ITPUB个人空间&N^;yg W+DOI&cym
 append it_conditionsx.
T IW P8g t0ITPUB个人空间uK+K BLo
ITPUB个人空间J4d ^ V8~
 update_order_flag = 'U'.ITPUB个人空间%EQT$tL
 call function 'BAPI_SALESORDER_CHANGE'
W ~ RzF!|4{;V0 exporting
TT e`T0b`1f0 salesdocument = it_so_po_price-vbeln
y$a x`B.iI3a&L0 order_header_inx = update_order_flagITPUB个人空间8_ Ftb&k R
 tables
2Pc&O&pM+^0G8n0 return = t_returnITPUB个人空间_ p!v%L,t7iL4F#bvI
 conditions_in = it_conditions
w+uj+T|+|}0 conditions_inx = it_conditionsx.ITPUB个人空间4e*P7R:G&@f J

5X ^KvZK0 read table t_return with key type = 'E'.
1a6a-e|U0 if sy-subrc = 0 .ITPUB个人空间#I Ok'G_YKTA%f
 it_message-word = t_return-message.
5A9m'~4E8c1e0 append it_message.ITPUB个人空间3i#n&U0S4{wu
 else.ITPUB个人空间Z%`Ik xu"t(SX
 call function 'BAPI_TRANSACTION_COMMIT'.ITPUB个人空间1ke8Ov~ U'l
 value = it_so_po_price-kbetr.ITPUB个人空间 fI8K)y$} jOz1l
 concatenate 'For SKU' it_so_po_price-matnr 'with new price' valueITPUB个人空间phcf2R I!H
 it_so_po_price-konwa 'has been updated in SO' it_so_po_price-vbeln 'with Item'
VcnUD.kKU0 it_so_po_price-posnr into it_message-word separated by ' ' .ITPUB个人空间5r,iAn7ye:ll6R
 endif.ITPUB个人空间6c5nMbJ7G

q;Q2p!m)VB k:q0endform. "update_so_priceITPUB个人空间cxu0u)Q/gY

D!mMQ };F1j0ITPUB个人空间'mD V+x*d? |W+cK^5c3n-p
*&--------------------------------------------------------------------*ITPUB个人空间 ~J;n$\zs;b
*& Form. get_domain_descITPUB个人空间_ k&Y-l jh;x
*&--------------------------------------------------------------------*ITPUB个人空间w/}'_j"W*JiS,v
* get domain descriptionITPUB个人空间R T#Cv]@ny
*---------------------------------------------------------------------*ITPUB个人空间)h,I ]y y"k+?
* -->DOMAIN textITPUB个人空间U(K9~,iX6s,s W n
* -->VALUE textITPUB个人空间h1b8?+N@|1w+f7W
* -->TEXT text
b&U6@aSj c*A3_0*---------------------------------------------------------------------*
1CO?x2iS2K ZPw ~O0form. get_domain_desc using domain value changing text.
"Y'{6B*~,V$v:Hs9Ys0 data: domain_name like dd07v-domname,
t |WJk'w0 domain_value like dd07v-domvalue_l,
Xf#h]C)L'S0 domain_desc like dd07v-ddtext.ITPUB个人空间7n1L} j ^ P$m

W5g Ym0@ g/P0 domain_name = domain.ITPUB个人空间M~1}3]S4~2t
 domain_value = value.ITPUB个人空间E|8o,S L*dq
 call function 'DOMAIN_VALUE_GET'
8N+j0gr^s-z0 exportingITPUB个人空间OVL7T _/e
 i_domname = domain_nameITPUB个人空间2~9N*k0z4Ou)a o8_
 i_domvalue = domain_valueITPUB个人空间"yA8GP6o3Wf
 importing
rR5L [`+Dm0 e_ddtext = domain_desc.ITPUB个人空间xF H7g)L)mi
 text = domain_desc.
%V O1GT.x#a6c0
J2h'f q)Ptl0endform. "get_domain_desc
b,CC7w#l8s*Fu0
z+c_ [h6i3h.A0*&---------------------------------------------------------------------*ITPUB个人空间 m}Q/Wft!e ^
*& Module STATUS_9000 OUTPUT
2KQt\k'U:i#Np;N0*&---------------------------------------------------------------------*ITPUB个人空间3X x~ ~3}
* text
Yp#O${%up;kM0*----------------------------------------------------------------------*
:nqWW7] [%U0module status_9000 output.
F9Xc4A!W|g0 set pf-status 'PF_9000'.
p.} }4VnT0 set titlebar '9000'.
Ew&B%J%~w#G0 perform. check_search_condition.
xb*w\6c'|(l0endmodule. " STATUS_9000 OUTPUT
i4aKd:dp)V+}0*---------------------------------------------------------------------*ITPUB个人空间]O+A&g h ?,e$B:xQ
* MODULE STATUS_9001 OUTPUT
yM'H9^4l0*---------------------------------------------------------------------*
&[R,M RITv;h0*
4B"u1A$k[X8m0*---------------------------------------------------------------------*
fJW+@,Ww4n;g6Ka0module status_9001 output.
Dc!^{0M^0 set pf-status 'PF_9001'.ITPUB个人空间d{b w/i#Z _
 set titlebar '9001'.ITPUB个人空间d^&o {3F
ITPUB个人空间 a:t+@7`r
endmodule. " STATUS_9001 OUTPUT
o0W'QzH-bTcN _0ITPUB个人空间M3l;`z0y8YFc
*---------------------------------------------------------------------*
6bo*}P`])gK7g0* MODULE STATUS_9002 OUTPUTITPUB个人空间 V r3i CI;eKr(fQc
*---------------------------------------------------------------------*ITPUB个人空间VM_5C Z4M*d"I @
*ITPUB个人空间 P X,|/t(Dqa]
*---------------------------------------------------------------------*
iW3X.Lim-iU0module status_9002 output.ITPUB个人空间S!?X Zfv
 set pf-status 'PF_9002'.
(g_M'Zt Ni1G[0 set titlebar '9002'.ITPUB个人空间yF.hn1MC"r;d
ITPUB个人空间R O+] Uk"T!q7X
endmodule. " STATUS_9003 OUTPUT
fh^%~x(Xf0
)ZTVz/}.UW c#p0ITPUB个人空间9or-E+V,P
*---------------------------------------------------------------------*ITPUB个人空间CFn] o:z}
* MODULE STATUS_9003 OUTPUTITPUB个人空间)J6H4C4s.cGPxk]B
*---------------------------------------------------------------------*
#I:q;I;W nP-S#u F0*
2j.m e%Xw$b1@:`8W^gq0*---------------------------------------------------------------------*
OFQ@K%\C)\&\0module status_9003 output.ITPUB个人空间D]7A k*CR@w
 set pf-status 'PF_9003'.
z8d["S+fI?w)MT0 set titlebar '9003'.ITPUB个人空间_8fy(J5Om T

Y`9ui YOc:~ B0endmodule. " STATUS_9003 OUTPUTITPUB个人空间Mj L1W PW0d/g
*&---------------------------------------------------------------------*
e(c2D4I1k&Z:XS0*& Module STATUS_9004 OUTPUTITPUB个人空间^'i,xd"~&N/^
*&---------------------------------------------------------------------*ITPUB个人空间2Mi S*DNJ?
* textITPUB个人空间6U] } n(I"D
*----------------------------------------------------------------------*
"[ A!e*Y2X F0module status_9004 output.ITPUB个人空间Z T{M6|+@ U3n
 set pf-status 'PF_9004'.ITPUB个人空间5a8~9n5i$`vO
 set titlebar '9004'.
` H&q#K`@!`4n/]c0
\J.UtAU0endmodule. " STATUS_9004 OUTPUTITPUB个人空间7t6}&R z3Q I/\
ITPUB个人空间j;F nTtL4j1~
ITPUB个人空间|K^D_
*---------------------------------------------------------------------*ITPUB个人空间,?V_ W-R1|c-Uat
* MODULE status_9005 OUTPUTITPUB个人空间!\7_I#n/Z#YBv
*---------------------------------------------------------------------*ITPUB个人空间Ky j}3a
*ITPUB个人空间 Hd-hjp|Nz9Y
*---------------------------------------------------------------------*ITPUB个人空间.OmeVE|
module status_9005 output.
1T#]dOU[G0* LEAVE TO LIST-PROCESSING ."AND RETURN TO SCREEN 0.ITPUB个人空间9WaO6Bvl^
* SUPPRESS DIALOG.ITPUB个人空间F9S9jp8z
* perform. print.
v'U2f x$}B8mc0ITPUB个人空间;^L:gC J/V&Fp[
 set pf-status 'PF_9005'.
t0m'ThKch_-o0 set titlebar '9005'.ITPUB个人空间w ]-`9X!CPLvi@
ITPUB个人空间3tC3C:}7?7d'l&Q
endmodule. "status_9005 OUTPUTITPUB个人空间 V^&wF!L+z4q
*---------------------------------------------------------------------*ITPUB个人空间~'O zQ,~lh j9P C/p
* MODULE status_9006 OUTPUT
XX-?$yH7A:@`0X:c0*---------------------------------------------------------------------*ITPUB个人空间#G#CI7a&d[ z
*
j]9TcU0*---------------------------------------------------------------------*ITPUB个人空间O)m%VdJ;o|'?uA
module status_9006 output.
hG2Z/@j#z5RW5K0ITPUB个人空间#D%r e so&?&cu
 set pf-status 'PF_9006'.ITPUB个人空间6k `?,F&nj |S
 set titlebar '9006'.ITPUB个人空间/m7uT7n*?6b9xNbyU

drx.C~bl9e0ITPUB个人空间m8]*f7z6uLF }C#tB
endmodule. "status_9006 OUTPUTITPUB个人空间!}$|6?'` z XZY
*---------------------------------------------------------------------*ITPUB个人空间@ pm7c[m
* MODULE printITPUB个人空间m8m|3d|#B
*---------------------------------------------------------------------*
S4y\wmyl0*
v(c {l L4A(CG0*---------------------------------------------------------------------*ITPUB个人空间op4JI9pz3Y
form. print.
w)kM} wv `0 loop at it_message.
A2_'l(r8s0 write : / it_message-word+0(102),ITPUB个人空间P`P?'DcY.\,p
 it_message-word+102.ITPUB个人空间JDGBs'J M#r^-A
 endloop.ITPUB个人空间-_/` H2e"PQ8hS
endform. "printITPUB个人空间1|w%rmT
*---------------------------------------------------------------------*ITPUB个人空间A1Z'v Psk0}w*N
* MODULE user_command_9000 INPUTITPUB个人空间hf,tp+M2]
*---------------------------------------------------------------------*ITPUB个人空间UVt+S'BB%T0J@
*
@:v^ I M0*---------------------------------------------------------------------*ITPUB个人空间Q}2DJUt
module user_command_9000 input.
lG%}(qsg^ e+uME0 save_ok = ok_code.ITPUB个人空间I0cO] KhB G
 clear ok_code.
s-[o{3b s:zi0 case save_ok.
3tVn6n` e'L0 when 'BACK'.
}$J6WJX {0
?7_h-sRc0 set screen 0.
.J0N/t^Jh8Bx8Q j0
E6|F g0Bsh,@0 when 'EXIT'.
T;{x"\ [8i-p%?"ClR|0 leave program.
_X o N | d6J$YFdz0 when 'CANCEL'.ITPUB个人空间8h i5PI9}Aa
 leave screen .ITPUB个人空间 R1U,?T*P

k7@?0p8C,E6Hk.Es0 when 'EXEC'.ITPUB个人空间"^Y0qUi({Y
 if flage = 'X' .ITPUB个人空间(zJ!cL]5ivj;s
 perform. query_model .ITPUB个人空间O7jpPT#U
 endif.
-oUI)T'J r;}#W0
)jF5g6s Z @ I#o t:[0 endcase.ITPUB个人空间4KEw&V2v9yW9W'dB
endmodule. " USER_COMMAND_9001 INPUT
p'[4v7U\ Q uz0
'K.jYS9J;B;YiJ0*---------------------------------------------------------------------*ITPUB个人空间1] ~*f*yj_
* MODULE USER_COMMAND_9001 INPUTITPUB个人空间Z)]:B:G+l^8U
*---------------------------------------------------------------------*ITPUB个人空间pd/pS$^ F? D
*
T gE g8BRcK+qW*[N0*---------------------------------------------------------------------*
l%F^V.cJ N;j0module user_command_9001 input.
5zh @ArV%B0 save_ok = ok_code.
4iG r{}0j1|~0 clear ok_code.
;N6E%o)w,H5|V0 case save_ok.
(n _7o A&I9C0 when 'BACK'.
J0oU~lc\0ITPUB个人空间Cyp[k'N3\+g i Z
 set screen 0.ITPUB个人空间g\X;XK

7wYQ j!PN]T6t3t$h0 when 'EXIT'.ITPUB个人空间~2T2qF n_,Y%X
 leave program.
Wo/i\q0 when 'CANCEL'.
f;Bn"]1hYT#M0J0 leave screen .
8?n+t(t0[0
's kPkTe0 when 'EXEC_ELP'.ITPUB个人空间H4Ir8@$v2g.\}t_
 perform. query_matnr using 'ELP'.
mBh\4y-pod|7g0 call screen 9003.ITPUB个人空间A)Ekr0eE/P)Va O0j
 when 'EXEC_OSGD'.ITPUB个人空间T;SD5k3z#t"]"Fe
 perform. query_matnr using 'OSGD'.ITPUB个人空间 fSia An
 call screen 9003.
;G;mXh%d0 when 'EXEC_BOTH'.ITPUB个人空间+k7vgU`~
 perform. query_matnr using 'BOTH'.
a2v2N,q+hS5z`,iAi E0 call screen 9003.ITPUB个人空间Y \;p;k#N.V+Q8`&Nw
 endcase.
`;gueL.Ih?0endmodule. " USER_COMMAND_9001 INPUTITPUB个人空间9?Ph9t} cHJ@z
ITPUB个人空间&a?:r:A&C r#C1y
*---------------------------------------------------------------------*ITPUB个人空间 f4h e4~Yh,@4Ar&v+G
* MODULE USER_COMMAND_9002 INPUT
#bLc,hua;P0*---------------------------------------------------------------------*
HyfHQ8u|i0*
-u%F#OUX$S0*---------------------------------------------------------------------*ITPUB个人空间$slg0~Um
module user_command_9002 input.
][k|P:X a'TVLE0 save_ok = ok_code.ITPUB个人空间M"|$IjY z*pPk5}m
 clear ok_code.
uZ&g8j~n0q0 case save_ok.ITPUB个人空间5k;]*_ ZV6w
 when 'BACK'.
*S(tT^ lN2CS0
2i PA f1j0E@/H1k0 set screen 0.ITPUB个人空间 vV N#O)?y8X6sj
ITPUB个人空间@CN%c5e~%`*U
 when 'EXIT'.ITPUB个人空间nR V\-SW6?+m \5s
 leave program.
#F/n4j?|?y0 when 'CANCEL'.
]'^EmGq+V _]i0 leave screen .ITPUB个人空间 \E&WbdS
ITPUB个人空间j0@ Zcz P$i
 when 'EXEC_PRICE'.ITPUB个人空间 pM r{EC$nU9`
 perform. query_matnr using 'NOR'.
S&X$i,z+m3]0 call screen 9004.ITPUB个人空间%[u(l AU+M/^%d,s6D
 endcase.ITPUB个人空间:]5}c \ \ c
endmodule. " USER_COMMAND_9002 INPUT
,F#Y8`5]*b@f|)V0
0{ l-P0gw_0*---------------------------------------------------------------------*ITPUB个人空间7G] ov(IH(o
* MODULE USER_COMMAND_9003 INPUTITPUB个人空间| P \@[1M9{
*---------------------------------------------------------------------*ITPUB个人空间H[GU(gI
*ITPUB个人空间"EYKD2Kb#o,D:Y
*---------------------------------------------------------------------*ITPUB个人空间kG:Ul D
module user_command_9003 input.ITPUB个人空间@i`9Zs@0Cz${r(j3W
 save_ok = ok_code.
0b;Q0y NP?-C0P ` M0 clear ok_code.
`2sf#t[ W ][%M0 case save_ok.ITPUB个人空间I'LZ~4_6W
 when 'BACK'.
7`Hw CL0ITPUB个人空间"p pP%De!B xf
 set screen 0.ITPUB个人空间7GW BO*K7[k+n
ITPUB个人空间5b&O WSFy
 when 'EXIT'.ITPUB个人空间+H J:mI$w
 leave program.
b0k mw3CK&O+A0 when 'CANCEL'.ITPUB个人空间7N {0j(qbe L
 leave screen .
3x'@ aM6l B];`l0ITPUB个人空间A1R MOH'Jk#Y]ke
 when 'EXEC'.
%p)L2S vhX0* update sales org/model price, the table name is a957ITPUB个人空间WM C+FZ]X d
 perform. update_model_price using '958'.ITPUB个人空间]3j;lf.mm A9A
ITPUB个人空间[,x.j1rA&O(I(c0j
ITPUB个人空间 Krd*n e8\T
 read table it_mat with key change = 'X' .
nwdX(NW0 if sy-subrc = 0 and it_mat-kbetr <> 0.
Y+^`4N k0* update sales org/model material price, the table name is a993ITPUB个人空间7ENq3OJ#F7~+?
 perform. update_material_price using '993'.ITPUB个人空间b"G T/OjzFw;Sa2K
* update info record price related to the material,the table name is a017
u;Z^k-Iv0 perform. update_inforecord_price.
5S:Cx"X2Zp0* get so and po according to material numberITPUB个人空间%h \([k*Wq nD
 perform. get_so_po.
:th-KAYr5DX0
5p7mJh9zt vr+x0 call screen 9005.
9@!yO p W'zi0t0 endif.ITPUB个人空间3Q6ea dDCa
ITPUB个人空间0c,ZJ{'DM"d
 endcase.
]+[{jh0endmodule. " USER_COMMAND_9004 INPUTITPUB个人空间)tU.Jl4tB;PV$r
ITPUB个人空间6Qz fZ![ x
*---------------------------------------------------------------------*ITPUB个人空间C)p A;r{4~;Q1A$F tf
* MODULE USER_COMMAND_9004 INPUT
nOvUYN0*---------------------------------------------------------------------*
f2B l)`"n IP8w0*
|4T x,s x-@ W[K L t0*---------------------------------------------------------------------*ITPUB个人空间;T!Xx7HQ$g,q
module user_command_9004 input.
BA Sryn%y mD!j0 save_ok = ok_code.
A/z2kLBeq,C Dh0 clear ok_code.
"Yg'b ii+\un0 case save_ok.ITPUB个人空间H.Y\4b&Z(O
 when 'BACK'.
(pz)ZJ4p+ko_0ITPUB个人空间o,l*_?1N
 set screen 0.ITPUB个人空间Jc*VsX q
ITPUB个人空间b8U wwf\7L
 when 'EXIT'.
$S\x8o7n-V~&a0 leave program.
"S3e,MJK};Z0 when 'CANCEL'.ITPUB个人空间 Om"nq%x c YH
 leave screen .
@)iJA/I%sK:n0ITPUB个人空间.P5O,B3@J6v}
 when 'EXEC'.
;c5Q!~?s'@,t0* update sales org/model/customer price, the table name is a957ITPUB个人空间 [2`P9V$j\R
 perform. update_model_price using '957'.
H _'Fw Yf0* update sales org/model/customer material price, the table name is a999ITPUB个人空间R\0s%kp(h
 perform. update_material_price using '999'.ITPUB个人空间AG.\%y+lR!Y
* get so and po according to material number
dx D*\l)K a'kA#F0 perform. get_so_po.
qa Q GO,M8y0 call screen 9005.ITPUB个人空间dZ?:v!sQp
 endcase.
_XO Q G3N }5y0endmodule. " USER_COMMAND_9004 INPUTITPUB个人空间.AG2Q/r9s$Xru
ITPUB个人空间^'TNxAw#B

9V;?y/Q [4b0*---------------------------------------------------------------------*
Z u:Zpt0* MODULE user_command_9005 INPUTITPUB个人空间 Y/wF|5L7Oxck
*---------------------------------------------------------------------*
nVH7Q}#K7\0*ITPUB个人空间'LK6da6CkK}.S
*---------------------------------------------------------------------*
)QwEg6z1?)`0module user_command_9005 input.
8U.Z,N,w FLu0 save_ok = ok_code.ITPUB个人空间/BWD L4@ x,X
 clear ok_code.
sR\5DS0
cHxk|(A2PA0 case save_ok.ITPUB个人空间'c N#?Pc$Fk
 when 'BACK'.ITPUB个人空间%W7l;lSo[3]B V%]
 set screen 0.
9?6A Sd"R0s4p0 when 'EXIT'.
x8CW|bPi1w5U0 leave program.
1@Hx]s'h2o @0 when 'CANCEL'.ITPUB个人空间/} ~*sZ%s&[-]:f9~'s
 leave screen .
rZ~&ct]nMi+\0 when 'ALL'.
NLP y}O$HY{0 loop at it_so_po_price.
OPuj3}x-I0 it_so_po_price-mark = 'X'.ITPUB个人空间O(sgU!E#Br[
 modify it_so_po_price.
h(M*s.R e0`)B0 endloop.
sb2@&X#S;c`'ZU0 when 'EMPTY'.ITPUB个人空间`}q3i?']a
 loop at it_so_po_price.ITPUB个人空间ADu0f;K8z^8cl3P
 it_so_po_price-mark = ''.
d'P,yQ2SG&uR [0 modify it_so_po_price.ITPUB个人空间 iQp?b'D2U
 endloop.ITPUB个人空间h!iLJI(Q kx%Z'ka

S!PxZ6fc0 when 'EXEC'.
V nm{;D#w0
V;L%esV#_f a0 loop at it_so_po_price where mark = 'X'.ITPUB个人空间L+^;Sp3G_Dj$z
 " for partial delivery osgd so, donot change its prices
z%m!SV'o(gF _/Y0 if it_so_po_price-vkorg <> '2302' and it_so_po_price-lfsta <> 'B'.ITPUB个人空间:LMRvs;H)w9G+ZY#D)c(j
 perform. update_so_price .ITPUB个人空间}?;Da O;Y PK
 perform. update_po_price .
^0N!u-~%c9Y0 endif.
5N"LS)f U7xH.t0 endloop.
3E.ox0dG C'[ c@0 leave to list-processing .ITPUB个人空间 Q9W8y!|^,BW
 suppress dialog.ITPUB个人空间i1Frs&ZU
 perform. print.ITPUB个人空间 p9d#E.q3O8N j,u ^
ITPUB个人空间 a/u^ t.Z'npR&Muz
 set pf-status 'PF_9006'.ITPUB个人空间r U#C Z U2]$u{ t
 set titlebar '9006'.
0u i-`{,OB8e%l0
n'S g7crc6{0 endcase.
ru1a%^2z)nVKF0endmodule. "user_command_9005 INPUT
/S3WOM\/@8{ `wi^ rz0
T K"Xb`;G0ITPUB个人空间)HR X|-co}
*&spwizard: declaration of tablecontrol 'CONDITIONINFO' itself
wH:Hjsy9n)H f0controls: conditioninfo type tableview using screen 9001.ITPUB个人空间L9J9T TXe

q'IQg*T!\!`0*&spwizard: output module for tc 'COND