Creating SAP Pricing conditions using BAPI_PRICES_CONDITIONS •
•
Category: SD Published on Thursday, 17 September 2009 18:1 !ritten by "e#in !ilson $its: 1119% This &ode snippet inserts a &ondition re&ord 'or Pri&ing &ondition type (12) *ith +ey sales order and line number C-.ST/.TS: l&+s&hl12) TP3 +s&ha 4/563 (12) D/T/: D/T /: l#datum l#&ount l#unit
TP3 sydatum,
TP3 +opos, TP3 +pein,
isbapi&ond&t TP3 bapi&ond&t, isbapi&ondhd TP3 bapi&ondhd, isbapi&ondit TP3 bapi&ondit, itbapi&ond&t itbapi&o nd&t TP3 ST/.D/D T/ T/53 53 - bapi&on bapi&ond&t, d&t, itbapi&ondhd itbapi&o ndhd TP3 ST/.D/D T/ T/53 53 - bapi&ond bapi&ondhd, hd, itbapi&ondit itbapi&o ndit TP3 ST/.D/D ST/.D/D T/ T/53 53 - bapi&ond bapi&ondit, it, itbapi&ond;s itbapi&o nd;s TP3 ST/.D/D T/ T/53 53 - bapi&ond bapi&ond;s, ;s, itbapi&ond#s itbapi&o nd#s TP3 ST/.D/D T/ T/53 53 - bapi&ond bapi&ond#s, #s, itbapiret2 itbapire t2
TP3 ST/.D/D T/ T/53 53 - bapiret2 bapiret2,,
isbapiret2
TP3 bapiret2,
itbapi+numhs itbapi+n umhs TP3 ST/ ST/.D/D .D/D T/53 T/53 - bapi+nu bapi+numhs, mhs, itmeminitial TP3 ST/.D/D T/53 - &ndmeminitial l#datum < sy=datum l#&ount < 1 5--P /T gt#bap >.T- *a#bap
? /P> Stru&ture 'or Condition Tables isbapi&ond&t=operation < 009 isbapi&ond&t=tableno < 700 isbapi&ond&t=appli&atio < 4 isbapi&ond&t=&ondusage < / isbapi&ond&t=&ondtype < l&+s&hl12) @Set the #ar+ey 'rom /700 table +ey 'ields C-.C/T3./T3 *a#bap=#beln *a#bap=posnr >.T- isbapi&ond&t=#ar+ey isbapi&ond&t=#alidto < 12A)1A2009 isbapi&ond&t=#alid'rom < l#datum isbapi&ond&t=&ondno
< B000000001
???? /P> Stru&ture o' "-.$ *ith 3nglish ield .ames isbapi&ondhd=operation < 009 isbapi&ondhd=&ondno
< B000000001
isbapi&ondhd=&reatedby < sy=uname isbapi&ondhd=&reatdate < sy=datum isbapi&ondhd=&ondusage < / isbapi&ondhd=tableno < 700 isbapi&ondhd=appli&atio < 4 isbapi&ondhd=&ondtype < l&+s&hl12) isbapi&ondhd=#ar+ey
< isbapi&ond&t=#ar+ey
isbapi&ondhd=#alidto < 12A)1A2009 isbapi&ondhd=#alid'rom < l#datum ??? /P> Stru&ture o' "-.P *ith 3nglish ield .ames C53/ isbapi&ondit isbapi&ondit=operation < 009 isbapi&ondit=&ondno
< B000000001
isbapi&ondit=&ond&ount < l#&ount isbapi&ondit=appli&atio < 4 isbapi&ondit=&ondtype < l&+s&hl12) isbapi&ondit=s&aletype < / isbapi&ondit=s&alebasin < /DD 1 T- isbapi&ondit=s&ale;ty
isbapi&ondit=&al&typ&on < l#unit < *a#bap=+*meng isbapi&ondit=&ondpunt < l#unit isbapi&ondit=&ond#alue < *a#bap=#alue isbapi&ondit=&ond&urr < *a#bap=*aer+ /PP3.D: isbapi&ond&t T- itbapi&ond&t, isbapi&ondhd T- itbapi&ondhd, isbapi&ondit T- itbapi&ondit 3.D5--P ??? /P> 'or pri&ing Condition e&ords C/55 6.CT>-. /P>P>C3SC-.D>T>-.S T/53S tibapi&ond&t < itbapi&ond&t tibapi&ondhd < itbapi&ondhd tibapi&ondit < itbapi&ondit tibapi&ond;s < itbapi&ond;s tibapi&ond#s < itbapi&ond#s tobapiret2
< itbapiret2
tobapi+numhs < itbapi+numhs tomeminitial < itmeminitial 3C3PT>-.S updateerror < 1 -T$3S
< 2
> sy=subr& 3 0 !>T3: A1 eturn Eessages 'or Condition &reateFt0)G 5--P /T itbapiret2 >.T- isbapiret2 !>T3: A1 isbapiret2=message 3.D5--P 65>.3 C/55 6.CT>-. /P>T/.S/CT>-.C-EE>T 3P-T>.H *ait <
>EP-T>.H return < isbapiret2 3.D> Correct AnswerRe: Bapi to create pricing condition\VK
Niran!an Kris"na#urt"i Jul Hi,
9, 2012 9:02 AM
Please try tis! "A#A: $%G&' ls*+o+ CC-./ 10! &'C-"% /#.-C#-.% +o+! "A#A: %'" ls*+o+! "A#A:ls*+o #P% +o! "A#A: $%G&' ls*+o3 CC-./ 10! &'C-"% /#.-C#-.% +o3! "A#A: %'" ls*+o3! "A#A: $%G&' lt*+o3 CC-./ 0! &'C-"% /#.-C#-.% +o3! "A#A: %'" lt*+o3! "A#A: +o+ #P% +o+ , +op #P% +op ! ls*+o4atnr 5 6aterial7! ls*+o43+or 5 6sales or7! ls*+o43twe 5 6dist cn7! C%A.: lt*+o3,ls*+o3! ls*+o34+appl 5 88! Application 5 /ales ls*+o34+scl 5 67! Condition type ls*+o34+nu 5 6condition record nu;er7! ls*+o34+rec 5 67! calculation type< ls*+o34+;etr 5 67! ls*+o34+ein 5 67! ls*+o34+pein 5 67! ls*+o34waers 5 67! ls*+o34upd+= 5 8&8! APP%'" ls*+o3 # lt*+o3! C%A. lt*+o3! "A#A wa*pispr #P% pispr! wa*pispr4atnr 5 67! wa*pispr43+or 5 67! wa*pispr43twe 5 67! CA -'C#&' 8/P.*>M>*>MP*&8 %?P.#&'G pi*i*spr 5 wa*pispr &MP.#&'G pe*i*+o+ 5 +o+ pe*i*+op 5 +op! CA -'C#&' 8.*C'"&'*CP8 %?P.#&'G application 5 88
(in response to Gil Hadida)
condition*ta;le 58 8 @ caracter cond! ta;le condition*type 58 8 cond! type date*ro 5 8201201018 3alid on date*to 5 8999912@18 3alid to enBueue 5 8?8 loc+ entry i*+o+ 5 +o+ i*+op 5 +op +ey*elds 5 ls*+o +ey elds aintain*ode 5 8$8 A5 create $5 cane, C5 display "5 create no*autority*cec+ 5 8?8 selection*date 5 8201201018 3alid on +eep*old*records 588 o3erlap*conred 5 8?8 no*d;*update 5 space &MP.#&'G e*+o+ 5 +o+ e*+op 5 +op new*record 5 l3*new*record #A$%/ copy*records 5 lt*+o3 %?C%P#&'/ enBueue*on*record 51 in3alid*application 52 in3alid*condition*nu;er 5 @ in3alid*condition*type 5 D no*selection 5E ta;le*not*3alid 5F no*autority*e+or 5 no*autority*+scl 5 ! & sy4su;rc 5 0! CA -'C#&' 8.*C'"&'*/A%8! CMM I.>! CA -'C#&' 8.*C'"&'*.%/%#8! necessary to write data CMM I.>! I.%: 8/uccess8! %/%! I.%: 8%rror8! %'"&! Ceers K'iranLan
Re: Sa#p$e code %or BAPI_PRICES_CONDITIONS
&err' (ianto Hi Martin,
Apr 1@, 200F 9:01 PM
(in response to Martn $ec+er)
Please cec+ tis saple code ro oter tread! wtable1-table_no = '306'. wtable1-applicatio = 'V'. wtable1-cond_type = 'ZPR0'.
wtable1-operation = '009'. wtable1-varkey = '13001001!" 0000000000#006$9%6'. wtable1-valid_to = '99991&31'. wtable1-valid_ro( = '&00#1101'. wtable1-cond_no = 'wtable1-table_no = '306'. wtable1-applicatio = 'V'. wtable1-cond_type = 'ZPR0'. wtable1-operation = '009'. wtable1-varkey = '13001001!" 0000000000#006$9%6'. wtable1-valid_to = '99991&31'. wtable1-valid_ro( = '&00#1101'. wtable1-cond_no = ')000000001'. *PP+," wtable1 table1. wtable&-operation = '009'. wtable&-cond_no = ')000000001'. wtable&-created_by = /y-na(e. wtable&-creat_date = '&00#10&&'. wtable&-cond_/ae = '*'. wtable&-table_no = '110'. wtable&-applicatio = 'V'. wtable&-cond_type = 'ZPR0'. wtable&-varkey = '13001001!" 0000000000#006$9%6'. wtable&-valid_ro( = '&00#1101'. wtable&-valid_to = '99991&31'. *PP+," wtable& table&.
wtable3-operation = '009'. wtable3-cond_no = ')000000001'. wtable3-cond_cont = '01'. wtable3-applicatio = 'V'. wtable3-cond_type = 'ZPR0'. wtable3-/caletype = '*'. wtable3-/caleba/in = '2'. wtable3-/cale_ty = '1'. wtable3-cond_p_nt = '1'. wtable3-cond_nit = '+*'. wtable3-calctypcon = '2'. wtable3-cond_vale = '%#%'. wtable3-condcrr = '!"'. *PP+," wtable3 table3.
2*44 5,2, '7*P_PR2+!_2,",!' 8 +PR,: 8 P_initial(ode = '' 8 P_742;,<7+R = *74+! ti_bapicondct = table1 ti_bapicondd = table& ti_bapicondit = table3 ti_bapicond/ = table% ti_bapicondv/ = table# to_bapiret& = table6 to_bapikn(/ = table> to_(e(_initial = table$
+2+P,! pdate_error = 1 ?+R! = & . 5 /y-/brc @A 0. <+!!*:+ " /y-(/id BP+ /y-(/ty ,<7+R /y-(/no C? /y-(/v1 /y-(/v& /y-(/v3 /y-(/v%. +,"5. R+*" *74+ table6 C? ;+B type = '+' R*,!PR,: , 5+4"!. 5 /y-/brc = 0. loop at table6 into ret. writeD E ret-typeF ret-(e//aeF ret-idF R+-4:_,F R+-4:_
wtable3-operation = '009'. wtable3-cond_no = ')000000001'. wtable3-cond_cont = '01'. wtable3-applicatio = 'V'. wtable3-cond_type = 'ZPR0'. wtable3-/caletype = '*'. wtable3-/caleba/in = '2'. wtable3-/cale_ty = '1'. wtable3-cond_p_nt = '1'. wtable3-cond_nit = '+*'. wtable3-calctypcon = '2'. wtable3-cond_vale = '%#%'. wtable3-condcrr = '!"'. *PP+," wtable3 table3. 2*44 5,2, '7*P_PR2+!_2,",!' 8 +PR,: 8 P_initial(ode = '' 8 P_742;,<7+R = *74+! ti_bapicondct = table1 ti_bapicondd = table& ti_bapicondit = table3 ti_bapicond/ = table% ti_bapicondv/ = table# to_bapiret& = table6 to_bapikn(/ = table> to_(e(_initial = table$ +2+P,! pdate_error = 1 ?+R! = & . 5 /y-/brc @A 0. <+!!*:+ " /y-(/id BP+ /y-(/ty ,<7+R /y-(/no C? /y-(/v1 /y-(/v& /y-(/v3 /y-(/v%. +,"5. R+*" *74+ table6 C? ;+B type = '+' R*,!PR,: , 5+4"!. 5 /y-/brc = 0. loop at table6 into ret. writeD E ret-typeF ret-(e//aeF ret-idF R+-4:_,F R+-4:_
wtable&-cond_/ae = '*'. wtable&-table_no = '110'. wtable&-applicatio = 'V'. wtable&-cond_type = 'ZPR0'. wtable&-varkey = '13001001!" 0000000000#006$9%6'. wtable&-valid_ro( = '&00#1101'. wtable&-valid_to = '99991&31'.
*PP+," wtable& table&.
wtable3-operation = '009'. wtable3-cond_no = 'wtable1-table_no = '306'. wtable1-applicatio = 'V'. wtable1-cond_type = 'ZPR0'. wtable1-operation = '009'. wtable1-varkey = '13001001!" 0000000000#006$9%6'. wtable1-valid_to = '99991&31'. wtable1-valid_ro( = '&00#1101'. wtable1-cond_no = ')000000001'. *PP+," wtable1 table1.
wtable&-operation = '009'. wtable&-cond_no = ')000000001'. wtable&-created_by = /y-na(e. wtable&-creat_date = '&00#10&&'. wtable&-cond_/ae = '*'. wtable&-table_no = '110'. wtable&-applicatio = 'V'. wtable&-cond_type = 'ZPR0'. wtable&-varkey = '13001001!" 0000000000#006$9%6'. wtable&-valid_ro( = '&00#1101'. wtable&-valid_to = '99991&31'.
*PP+," wtable& table&.
wtable3-operation = '009'. wtable3-cond_no = ')000000001'. wtable3-cond_cont = '01'. wtable3-applicatio = 'V'. wtable3-cond_type = 'ZPR0'. wtable3-/caletype = '*'. wtable3-/caleba/in = '2'. wtable3-/cale_ty = '1'. wtable3-cond_p_nt = '1'. wtable3-cond_nit = '+*'. wtable3-calctypcon = '2'. wtable3-cond_vale = '%#%'. wtable3-condcrr = '!"'. *PP+," wtable3 table3. 2*44 5,2, '7*P_PR2+!_2,",!' 8 +PR,: 8 P_initial(ode = ''
8 P_742;,<7+R = *74+! ti_bapicondct = table1 ti_bapicondd = table& ti_bapicondit = table3 ti_bapicond/ = table% ti_bapicondv/ = table# to_bapiret& = table6 to_bapikn(/ = table> to_(e(_initial = table$ +2+P,! pdate_error = 1 ?+R! = & . 5 /y-/brc @A 0. <+!!*:+ " /y-(/id BP+ /y-(/ty ,<7+R /y-(/no C? /y-(/v1 /y-(/v& /y-(/v3 /y-(/v%. +,"5. R+*" *74+ table6 C? ;+B type = '+' R*,!PR,: , 5+4"!. 5 /y-/brc = 0. loop at table6 into ret. writeD E ret-typeF ret-(e//aeF ret-idF R+-4:_,F R+-4:_
2*44 5,2, '7*P_PR2+!_2,",!' 8 +PR,: 8 P_initial(ode = '' 8 P_742;,<7+R = *74+! ti_bapicondct = table1 ti_bapicondd = table& ti_bapicondit = table3
ti_bapicond/ = table% ti_bapicondv/ = table# to_bapiret& = table6 to_bapikn(/ = table> to_(e(_initial = table$ +2+P,! pdate_error = 1 ?+R! = & . 5 /y-/brc @A 0. <+!!*:+ " /y-(/id BP+ /y-(/ty ,<7+R /y-(/no C? /y-(/v1 /y-(/v& /y-(/v3 /y-(/v%. +,"5. R+*" *74+ table6 C? ;+B type = '+' R*,!PR,: , 5+4"!. 5 /y-/brc = 0. loop at table6 into ret. writeD E ret-typeF ret-(e//aeF ret-idF R+-4:_,F R+-4:_
Also tere are oter options: 4 ro /MI te report .1D$#C& 4 ;atc input to transaction ?>1E 4 usin M odules .*C'"&'N (e!! *copy and *sa3e)