Pricing for different material
Dear sd gurus+
MY doubt is how can i do configure ,if i have material a,b,c,d+
if customer purchase a material it is one price,if b along with a price is different price for a same like others+
can u give idea
thanks a lot
Hello,
Changing Price Manually in Sales Order, as & when required is not a good idea & your client will not accept the same.
You can look for some un-used feilds in Sales Order (e.g. Pricing Group, Material Pricing group, Price List at sales B tab in Sales Order Line Item Details).
Now for example in IMG - Sales and Distribution - Basic Functions - Pricing - Maintain Price-Relevant Master Data Fields -
Create combination like A only, A + B, A + B + C, A+ D, etc...
Now insert one of the above feilds in your Pricing Condition Table & maintain Conditions records for the same.
Now while creating Sales Order, user will just have to select one of the combination above & system will determine relevant Price from Condition Records.
Hope this helps,
Thanks,
Jignesh Mehta
Similar Messages
-
Print in different page for different material type in Sapscript
Hi all
How do I do the above matter?
Currently I have a script that print all material according to some condition.
My client request to have a different page of material list for different material type.
Please advise
azHi,
1) Sort the internal table by material type.
call func 'OPEN_FORM'.
loop at itab.
at new mattype.
if mattype = 'A'.
call fun 'START_FORM'.
exporting
page = 'PAGEA'.
elseif mattype = 'B'.
call fun 'START_FORM'.
exporting
page = 'PAGEB'.
endat.
call func 'WRITE_FORM'.
AT end of mattype.
call function 'END_FORM'.
endat.
endloop.
call function 'CLOSE_FORM'.
Thanks,
Nethaji. -
Uploading data in MM01 for different material types
Hi,
I have a doubt regarding uploading the data in MM01 for different material types.
Generally in MM01, we have different views for different material types. The number of views will vary depending upon the material type that we select.
I have a scenario, where in to upload the data, I have a flat file that consists of data for different message types. So, how to upload the data in such case.
Can anyone help me on the same by providing explanation or sample code...? What would be the possible ways to upload data in such scenario.
That would be of great help.
Thanks & Regards,
Pradeep.See the below code and use FM SELECTION_VIEWS_FIND..
REPORT zjpmuim306 NO STANDARD PAGE HEADING LINE-SIZE 250 MESSAGE-ID
zjpm001.
*& I N B O U N D V I A A B A P : Batch input Session method *
*& Development ID: IM_DD_306_LJP *
*& Report : ZJPMUIM306 *
*& The Purpose of the Object is to interface Create Input Record *
*& for SAP Migration from the Material master of BPCS All the *
*& information received at BPCS is collected into a single record. *
*& By using session method upload data from file ,one item is
*& created for one record *
*& Change Log: *
*& Init Who Date Text *
*& MALIKDH1 Seshu Reddy 26-07-2003 Initial Version *
Constants *
CONSTANTS:c_vkorg(4) type c value 'JP20', " Sales Organization
c_vtweg(2) type c value 'TR' , " Distribution Channel
c_werks(4) Type c value 'JP01' , " Plant
c_viewlist(15) VALUE 'KDEALBSZXVPCFQG'," View list
c_scm_view TYPE msichtausw-dytxt VALUE 'SCM View',
c_sd_view TYPE msichtausw-dytxt VALUE 'SD View',
c_seq_code(2) VALUE 'Z1', " Sequential Code
c_keep(1) TYPE c VALUE 'X', " Keep
c_group LIKE apqi-groupid VALUE 'IM306', " Session Name
c_tcode LIKE tstc-tcode VALUE 'MM02', " Transaction Code
c_blank(1) VALUE ' ', " Blank
c_intls(1) VALUE 'N'. " Logistic Status
Variables *
DATA: g_flag1(1), " Variable to hold
g_flag(1), " Variable to hold
g_file LIKE rlgrap-filename VALUE
'C:\Documents and Settings\seshur\Desktop\HCLT123.CSV'. " File name
Internal tables/ Work area *
Internal Table for Delimter
DATA : BEGIN OF t_delim OCCURS 0,
text(1000),
END OF t_delim.
Internal table for BDC processing
DATA : t_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
Internal table for holding the data which has to be uploaded.
DATA: BEGIN OF t_bpcs OCCURS 0,
matnr(15) TYPE c, " material no
dosage(40) TYPE c, " Dosage form(Local)
appearance(40) TYPE c, " Appearance
idcode(6) TYPE c, " Identification Code
prostformno(10) TYPE c, "SOP
weitab(7) TYPE c, " Weight/tablet
uom1(2) TYPE c, " UOM of Carton
uom2(2) TYPE c, " UOM of Case
carsize(14) TYPE c, " Carton size
cassize(14) TYPE c, " Case size
rupqty(11) TYPE c, " Round up
abvname(3) TYPE c, " Product short name
END OF t_bpcs.
*Internal table for t_bpcs
DATA: BEGIN OF t_mdata OCCURS 0,
matnr LIKE marc-matnr, " Material number
zzjp_dos_frm LIKE marc-zzjp_dos_frm, " Dosage form(Local)
zzjp_aprn LIKE marc-zzjp_aprn, " Appearance
zzjp_con_id LIKE marc-zzjp_con_id," Identification Code
zzjp_nyu_sop LIKE marc-zzjp_nyu_sop,"SOP
zzjp_wei_tab(10) type c , " Weight/tablet
zzjp_bio LIKE marc-zzjp_bio,"Biologics Indicator
zzjp_itf LIKE marc-zzjp_itf, " ITF code
zzjp_car(2) type c, " UOM of Carton
zzjp_cas(2) type c, " UOM of Case
zzjp_car_size(11) type c," Carton size
zzjp_cas_size(11) type c, " Case size
zzjp_rupqty(11) type c, " Round up
zzjp_init_ls LIKE marc-zzjp_init_ls, " Logistic Status
zzjp_re1 LIKE marc-zzjp_re1, "Document type(Local)
zzjp_re2 LIKE marc-zzjp_re2, "Report type
zzjp_re3 LIKE marc-zzjp_re3, "Shipping report type
zzjp_pro_id LIKE mvke-zzjp_pro_id," Product output sequence
zzjp_bu_id LIKE mvke-zzjp_bu_id, " Business unit indicator
zzjp_abv_name LIKE mvke-zzjp_abv_name," Product short name
zzjp_abv_id1 LIKE mvke-zzjp_abv_id1," Product short name output
zzjp_abv_id2 LIKE mvke-zzjp_abv_id2," Product short name internal
zzjp_spl_id LIKE mvke-zzjp_spl_id, " Sample internal order
END OF t_mdata.
Internal table for Mara Table
DATA: BEGIN OF t_mara OCCURS 0,
matnr LIKE mara-matnr, " material Number
vpsta LIKE mara-vpsta, " Maintenance status of complete material
pstat like mara-pstat, " Maintenance status
END OF t_mara.
Internal table for Material Master View Selection Screens
DATA: BEGIN OF t_bildtab OCCURS 0.
INCLUDE STRUCTURE mbildtab.
DATA: END OF t_bildtab.
internal table for T_bildtab
DATA: t_bildtab_dup LIKE t_bildtab OCCURS 0 WITH HEADER LINE.
*Work area for T_bildtab internal table(Views Selection)
DATA: BEGIN OF w_data,
flag1 type c,
anzd70 TYPE i,
field1(20) type c,
field2(20) type c,
field3(20) type c,
field4(20) type c,
count(2) TYPE c,
END OF w_data.
Main Processing *
START-OF-SELECTION.
Store data from file into internal table
PERFORM f_uplaod_data.
Transfer the uploaded data into t_mdata internal Table
PERFORM f_process_data.
Selecting The views based on Material number
PERFORM f_view_list.
Open a BDC Session
PERFORM f_bdc_open.
*Selecting the fields from mara table
SELECT matnr
vpsta
pstat
FROM mara
INTO TABLE t_mara
FOR ALL ENTRIES IN t_mdata
WHERE matnr = t_mdata-matnr.
SORT t_mara BY matnr.
SORT t_mdata BY matnr.
Transfer the uploaded data into BDCDATA structure
PERFORM f_process_bdc.
Close The BDC Session
PERFORM f_close_group.
*& Form F_VIEW_LIST *
Routine to used for Calling the function module *
Selection_views_find *
FORM f_view_list.
CALL FUNCTION 'SELECTION_VIEWS_FIND'
EXPORTING
bildsequenz = c_seq_code
pflegestatus = c_viewlist
TABLES
bildtab = t_bildtab
EXCEPTIONS
call_wrong = 1
empty_selection = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " F_VIEW_LIST
*& Form f612_view_sort *
Routine to used for Selecting The views based on Material Number *
FORM f612_view_sort.
t_bildtab_dup[] = t_bildtab[].
Reading the Internal table t_mara
READ TABLE t_mara WITH KEY matnr = t_mdata-matnr.
TRANSLATE t_mara-pstat USING ' $'.
CLEAR: w_data-flag1, w_data-anzd70.
LOOP AT t_bildtab_dup.
IF t_bildtab_dup-pstat CA t_mara-pstat.
w_data-anzd70 = w_data-anzd70 + 1.
IF t_bildtab_dup-kzanz IS INITIAL.
t_bildtab_dup-kzanz = 'X'.
w_data-flag1 = 'X'.
MODIFY t_bildtab_dup.
ENDIF.
ELSE.
IF NOT t_bildtab_dup-kzanz IS INITIAL.
CLEAR t_bildtab_dup-kzanz.
w_data-flag1 = 'X'.
MODIFY t_bildtab_dup.
ENDIF.
ENDIF.
ENDLOOP.
TRANSLATE t_mara-pstat USING '$ '.
IF NOT w_data-flag1 IS INITIAL.
SORT t_bildtab_dup BY kzanz DESCENDING idxbd ASCENDING.
ENDIF.
*Reading The internal table for T_bildtab_dup
READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
IF t_bildtab_dup-kzanz = 'X'.
WRITE sy-tabix TO w_data-count.
w_data-count = w_data-count + 2.
IF w_data-anzd70 > 18.
w_data-count = w_data-count - 18.
ENDIF.
CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field1.
CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field2.
ENDIF.
READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
IF t_bildtab_dup-kzanz = 'X'.
WRITE sy-tabix TO w_data-count.
IF w_data-anzd70 > 18.
w_data-count = w_data-count + 2.
w_data-count = w_data-count - 18.
ENDIF.
CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field3.
CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field4.
ENDIF.
ENDFORM. " f612_view_sort
*& Form f_uplaod_data *
Routine to used for Uploading the data from file to Internal table *
FORM f_uplaod_data.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = g_file
filetype = 'DAT'
TABLES
data_tab = t_delim
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF t_bpcs IS INITIAL.
LOOP AT t_delim.
SPLIT t_delim-text AT ',' INTO t_bpcs-matnr
t_bpcs-dosage
t_bpcs-appearance
t_bpcs-idcode
t_bpcs-prostformno
t_bpcs-weitab
t_bpcs-uom1
t_bpcs-uom2
t_bpcs-carsize
t_bpcs-cassize
t_bpcs-rupqty
t_bpcs-abvname.
APPEND t_bpcs.
ENDLOOP.
ENDIF.
ENDFORM. " f_uplaod_data
*& Form F_BDC_OPEN
Routine to create BDC Session to be processed
FORM f_bdc_open.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = c_group
keep = c_keep
user = sy-uname
EXCEPTIONS
client_invalid = 1
destination_invalid = 2
group_invalid = 3
group_is_locked = 4
holddate_invalid = 5
internal_error = 6
queue_error = 7
running = 8
system_lock_error = 9
user_invalid = 10
OTHERS = 11.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
MESSAGE S000 WITH 'Batch input session is created successfully'(T02).
ENDIF.
ENDFORM. " F_BDC_OPEN
*& Form F_PROCESS_BDC
Processing of BDCDATA Structure
FORM f_process_bdc.
LOOP AT t_mdata.
PERFORM f612_view_sort.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=AUSW'.
PERFORM f_bdc_field USING 'RMMG1-MATNR'
t_mdata-matnr.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
IF w_data-anzd70 > 18.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=P+'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
ENDIF.
reading the t_bildtab internal table
READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
IF t_bildtab_dup-kzanz = 'X'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
w_data-field1.
PERFORM f_bdc_field USING w_data-field2 'X'.
g_flag = 'X'.
ENDIF.
reading the t_bildtab internal table
READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
IF sy-subrc EQ 0.
g_flag = 'X'.
ENDIF.
IF t_bildtab_dup-kzanz = 'X'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
w_data-field3.
PERFORM f_bdc_field USING w_data-field4 'X'.
g_flag1 = 'X'.
ENDIF.
IF g_flag = 'X' AND g_flag1 = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-VTWEG'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'RMMG1-VKORG'
c_vkorg.
PERFORM f_bdc_field USING 'RMMG1-VTWEG'
c_vtweg.
CLEAR g_flag.
CLEAR g_flag1.
ELSE.
IF g_flag = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
ELSE.
IF g_flag1 = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-VTWEG'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'RMMG1-VKORG'
c_vkorg.
PERFORM f_bdc_field USING 'RMMG1-VTWEG'
c_vtweg.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
ENDIF.
ENDIF.
*Processing of SCM View
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM f_bdc_field USING 'BDC_CURSOR' 'MARC-ZZJP_DOS_FRM'.
PERFORM f_bdc_field USING 'MARC-ZZJP_DOS_FRM'
t_mdata-zzjp_dos_frm.
PERFORM f_bdc_field USING 'MARC-ZZJP_APRN'
t_mdata-zzjp_aprn.
PERFORM f_bdc_field USING 'MARC-ZZJP_CON_ID'
t_mdata-zzjp_con_id.
PERFORM f_bdc_field USING 'MARC-ZZJP_NYU_SOP'
t_mdata-zzjp_nyu_sop.
PERFORM f_bdc_field USING 'MARC-ZZJP_WEI_TAB'
t_mdata-zzjp_wei_tab.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAR'
t_mdata-zzjp_car.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAS'
t_mdata-zzjp_cas.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAR_SIZE'
t_mdata-ZZJP_CAR_SIZE.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAS_SIZE'
t_mdata-ZZJP_CAS_SIZE.
PERFORM f_bdc_field USING 'MARC-ZZJP_RUPQTY'
t_mdata-ZZJP_RUPQTY.
PERFORM f_bdc_field USING 'MARC-ZZJP_BIO'
t_mdata-zzjp_bio.
PERFORM f_bdc_field USING 'MARC-ZZJP_ITF'
t_mdata-zzjp_itf.
PERFORM f_bdc_field USING 'MARC-ZZJP_INIT_LS'
t_mdata-zzjp_init_ls.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE1'
t_mdata-zzjp_re1.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE2'
t_mdata-zzjp_re2.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE3'
t_mdata-zzjp_re3.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'/00'.
*Processing of SD View
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM f_bdc_field USING 'BDC_CURSOR' 'MVKE-ZZJP_PRO_ID'.
PERFORM f_bdc_field USING 'MVKE-ZZJP_PRO_ID'
t_mdata-zzjp_pro_id.
PERFORM f_bdc_field USING 'MVKE-ZZJP_BU_ID'
t_mdata-zzjp_bu_id.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_NAME'
t_mdata-zzjp_abv_name.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_ID1'
t_mdata-zzjp_abv_id1.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_ID2'
t_mdata-zzjp_abv_id2.
PERFORM f_bdc_field USING 'MVKE-ZZJP_SPL_ID'
t_mdata-zzjp_spl_id.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM f_bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=YES'.
perform f_bdc_insert.
REFRESH T_BDCDATA.
ENDLOOP.
ENDFORM. " F_PROCESS_BDC
*& Form f_bdc_dynpro
p_prog is the program name to which data is passed *
p_dyno is the screen number to which the data is passed
Routine for populating the BDCDATA structure with the
Screen related information
FORM f_bdc_dynpro USING p_prog
p_dyno.
t_bdcdata-program = p_prog.
t_bdcdata-dynpro = p_dyno.
t_bdcdata-dynbegin = 'X'.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " F_bdc_dynpro
*& Form F_BDC_FIELD
p_fnam is the field name to which value is passed
p_fval is the field value which is passed
p_fnam is the field name to which value is passed
p_fval is the field value which is passed
FORM f_bdc_field USING p_fnam
p_fval.
t_bdcdata-fnam = p_fnam.
t_bdcdata-fval = p_fval.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " F_bdc_field
*& Form F_PROCESS_DATA *
Routine to used for moving data from T_bpcs internal table to *
t_mdata Internal Table *
FORM f_process_data.
LOOP AT t_bpcs.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = t_bpcs-matnr
IMPORTING
output = t_mdata-matnr.
MOVE t_bpcs-dosage TO t_mdata-zzjp_dos_frm.
MOVE t_bpcs-appearance TO t_mdata-zzjp_aprn.
MOVE t_bpcs-idcode TO t_mdata-zzjp_con_id.
MOVE t_bpcs-prostformno TO t_mdata-zzjp_nyu_sop.
MOVE t_bpcs-weitab TO t_mdata-zzjp_wei_tab.
MOVE c_blank TO t_mdata-zzjp_bio.
MOVE c_blank TO t_mdata-zzjp_itf.
MOVE t_bpcs-uom1 TO t_mdata-zzjp_car.
MOVE t_bpcs-uom2 TO t_mdata-zzjp_cas.
MOVE t_bpcs-carsize TO t_mdata-zzjp_car_size.
MOVE t_bpcs-cassize TO t_mdata-zzjp_cas_size.
MOVE t_bpcs-rupqty TO t_mdata-zzjp_rupqty.
MOVE c_intls TO t_mdata-zzjp_init_ls.
MOVE c_blank TO t_mdata-zzjp_re1.
MOVE c_blank TO t_mdata-zzjp_re2.
MOVE c_blank TO t_mdata-zzjp_re3.
MOVE c_blank TO t_mdata-zzjp_pro_id.
MOVE c_blank TO t_mdata-zzjp_bu_id.
MOVE t_bpcs-abvname TO t_mdata-zzjp_abv_name.
MOVE c_blank TO t_mdata-zzjp_abv_id1.
MOVE c_blank TO t_mdata-zzjp_abv_id2.
MOVE c_blank TO t_mdata-zzjp_spl_id.
APPEND t_mdata.
ENDLOOP.
ENDFORM. " F_PROCESS_DATA
*& Form f_bdc_close
Routine to close the BDC Session
FORM f_close_group.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 1
queue_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " f_close_group
*& Form f_bdc_insert
routine to input batch data into the Transaction MM02 from the
session created
FORM f_bdc_insert.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = c_tcode
TABLES
dynprotab = t_bdcdata
EXCEPTIONS
internal_error = 1
not_open = 2
queue_error = 3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
OTHERS = 7.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " f_bdc_insert
Reward Points if it is useful
Thanks
Seshu -
Different pricing for same material in 2 line items
Dear All ,
In a sales order i have two line items of same material . One with the item category TAN and another REN . line item with TAN is the normal sale item while as second line item is for Return of same materail . .
Now i want Different pricing for the Normal sale item and Return item in single sales order . The pricing has to come automaticaly through the condition records
Please suggest me how to do it
Thanks in Advance .
SatishHi,
Add the item category (field name: PSTYV) to the allowed fields in the pricing condition table.
create new conditon table include the field item category.
create a access seq that includes your new condition table
Assign that access seq to the condition type which is assigned to the pricing procedure.
create the condition records.
This will solve your problem.
Note:
How will your customers accept if you reduce the price while returning?
Otherwise create new discount type that including the condition table which contains the field item categry.
And create condition record for that item category.
Hope this will solve your problem
Reward if usefull
Muthupandiyan. -
Multiple pricing for 1 material
Dear All,
We are implementing SAP at a leading pesticide industry. They have a very complex pricing structure. They have over 40 different pricing policies for 1 product. Their pricing policies consist of all the basic info e.g., MRP price, invoice price, tax, customer discount and net & final price. We can maintain all these using condition types in the pricing schema.
However the problem is if a customer orders 100 ton of product A, He can pay for 20 tons in cash, 20 tons in advance and the rest he can buy on credit or vice verse. And on all these he can have different pricing policies for the same material in single order.
And in 1 order he can have any number of products and he can pay by cash , advance & credit and he can have different pricing policies on each one of them.
Please provide assistance on how can we configure a pricing schema that can cater all these requirements.
ThanksHello,
I believe your requirement is based on Payment Terms, you want to have different Price for Each Line item in Sales Order.
Firstly create all the different Payment Options as Payment Terms in T-Code OBB8.
Now Insert Payment Terms as one of the combination creteria in the Condition table of Access Sequnce of Basic Price.
You can maintain different Payment Terms for each LIne item in Sales Order (Sales Order LIne Item Details - Billing Tab). For this you need to put a Tick Mark in Business Item under Business Data in your Item Category (T-Code VOV7).
Following the above you can have multiple Prices for one Material based on Payment Terms.
Thus now as soon as you enter Payment Terms in the LIne Item details of Sales Order, system will search for Basic Price based on the Combination including Payment Terms.
Hope this helps,
Thanks,
Jignesh Mehta -
How to assign the same GTIN for different material?
Hi,
I've managed to install an internal number assignment for the GTIN / EAN in material master which works fine.
Now we need to assign the same GTIN to different material numbers.
Since the defined number range is marked as internal I cannot use this number range as the external number range in spro -> Define Attributes of EANs/UPCs (number categories/EAN categories):
I cannot make an external number range with the same data as the internal one, since number ranges must not overlap.
So, here is the question again:
How can I achieve that 1. the GTIN is generated and 2. a GTIN, which is already assigned to another material, can be entered manually in the GTIN field?
Any advice is appreciated,
thanks,
Marco.1. the GTIN is generated
This should be "external" number range only.
2. a GTIN, which is already assigned to another material, can be entered manually in the GTIN field?
We can enter manually or thru' upload during master data creation provided number range is "external"(refer point no.1 above)
Unable to understand that why you need same GTIN in two different articles?
Request to understand the business process once again as this leads to confusion reg. inventory, PDC and PoS dumping. -
Goods Receipt for Different Material
Hi Gurus,
I've created PO for Material A,while MIGO when inspected found different Material,
But Package of the material shows Material A only,how to accept this Misc Material While MIGO??
thanksIf you are Sure that the Material is Different to Po material then You can send it back to Vendor.
Or Keep this material in GR Blocked Stock 103 until Situation is Resolved.
Else Inward the material with out referring po in migo with 501 mov type.
I would suggest you to follow the First option.
Regards,
Ashok -
User exit for different Material Document for different company code
Hi,
We want to have different no. range for Material document (GR) for different compnay code. Presently we have no. range at client level. Can we do with any userexit. If so pls. give the details.
Regards
Sai Krishna[user exit for generating external serial;
[BADI MB_DOCUMENT_BADI;
[user exit or any other enhancements during good receipt; -
GR output quantity for different material types using 101 mvt
Hi All
Is it possible to have separate GR slip quantities for the same movement type (101) but for different stock types.
I would like 3 GR slips for mvt type 101 for directly procured materials AND
I would like 1 GR slip for mvt type 101 for stock materials
Therefore, the material type on goods receipt would decide how many GR slips would be printed.
What config is necessary?
Thanks in advance
Darrenmaterial type is fixed for a material, it is not changed for GR.
you can make no of GRs or one po.
for stock items you need to make one PO and matrial for account assignment need separete PO.
account assignment PO > material direclty goes to cost center and consumption accouont
no configuration required. -
Pricing for non-material quotation item
hi, All
If I create new quatation with non-material item, can I set pricing for this item?
I have tried that system always takes that non-material item as text item so that there is pricing for it.
Thanks in advanceHello,
a non material item can be a text item but it can be also a service item.
This depends from your customizing. Which item type is relevant for your non material item.
In the item type you can maintain if an item is relvant for pricing or not.
Please have a look in transaction VOV7. Here you can set the flag 'Pricing'.
This flag can have the following specification:
Blank No pricing
X Pricing standard
A Pricing for empties
B Pricing for free goods (100% discount)
I hope that the information are helpful.
Best regards
Claudia
Edited by: Claudia Neudeck on Jul 17, 2008 8:17 AM -
System bifurcated revenue on line item basis for different material in invo
Hi Friends
When i reaised a invoice for three material system showing three line item for the revenue in accounting document. Where revenue G/L is the same. As per my client requirement he want all revenue must posted in one line item in accounting document.
e.g line item posting key G/L amount
1 01 (Customer) XXXXXXXX 6000
2 50 (Revenue) ABCDEF -3000
3 50 (Revenue) ABCDEF -2000
4 50 (Revenue) ABCDEF -1000
Where as per requirement it must post to accounting document
line item posting key G/L amount
1 01 (Customer) XXXXXXXX 6000
2 50 (Revenue) ABCDEF -6000
Please help me to solve me the issue.
Regards
Shambhu SarkarHi Friends
When i reaised a invoice for three material system showing three line item for the revenue in accounting document. Where revenue G/L is the same. As per my client requirement he want all revenue must posted in one line item in accounting document.
e.g line item posting key G/L amount
1 01 (Customer) XXXXXXXX 6000
2 50 (Revenue) ABCDEF -3000
3 50 (Revenue) ABCDEF -2000
4 50 (Revenue) ABCDEF -1000
Where as per requirement it must post to accounting document
line item posting key G/L amount
1 01 (Customer) XXXXXXXX 6000
2 50 (Revenue) ABCDEF -6000
Please help me to solve me the issue.
Regards
Shambhu Sarkar -
REG: Creating customer stock for different material codes has an single set
Hi FRIENDS,
we are purchasing finished items from our vendor in numbers (Eg. Item Number 1 to 6 (all different items and having different item codes)) and selling it to our customer in a set ( 1 set contains all this 6 items and we have code for this Set). Please let me know how to create the customer stock for these items in the store as the store shows stock for 7 different items, not in a set.
Please let em know if any more information is neddedhi dan,
as per your requriment you can have all MRP viewsfor HAWA material type.
that means you are purchasing, use HAWA for finished goods in SAP system.
if you are having different item codes seperately for each item.
take one packing material called CARTON and maintain UOM as 6 items and you can pack the same in BOM.
use PP -PHANTOM - BOM which should add all the 7 materials in & gives one single material as OUTPUT.
use 561 GMT and upload that material as a final finished goods and in MMBE you can see only one called CARTON inside it set of 6 materials will be there.
BUT BE AWARE OF COSTING OF THE MATERIAL because each material will be having the its price. So discuiss with PP as well as FICO consultants.
whether you will cost the total set of carton or individual material
go ahead
test and confirm
this clears your issue
balajia -
Zero pricing for packaging material
Hi All,
I have one scenario, In sales order there are two line items one is standard item and second one is packaging material.For second item I don't want to maintain price,that means zero pricing.Is there any solution for this.
Regards,
Hari Challa.Dear Hari,
You define new item category for the packing material through VOV7 transaction.
In the item category detail screen you maintain Pricing field as Blank - NO pricing under Business Data tab.
Do the itemcategory determination for the new itemcategory VOV4 transaction with the packing material itemcategory group+sales document type.
Now system will not consider price for the packing material.
I hope this will help you,
Regards,
Murali. -
Authorisation for Different Material Views
Hi,
As I understand, in material master (MM01), we have different views (basic, SD, MM, FI, CO, QM, PP etc). Is it possible to control authorisation such that staffs from each department can only modify the basic data and their own view data?
If authorisation is not possible, how can we exercise control? Have one centralised party to create all data under every views?
Advice would be appreciated. Thanks.
Regards.can achieve by way of authorization control. In t.code PFCG, select your role for creating / changing the material master. Select option Maintenance statuses. Then at change status option select views that you want to give the authorization to the users. Create profile & save the role. Now assign the role to the users. They will get only those views you have selected. You have to select those views in all the roles related to material master (create, change, display).Consultant Basis Consultant
-
How to Upload different Material with Different Selection View
Hello Experts!
Iu2019m new in ABAP and trying to understand methods of LSMW. Now I get a question for you guys. Let say I need to upload 10 different materials. Now for instance.
1st material has Basic data 1 and Basic data 2.
2nd material has Basic data 1, Purchasing and Purchase Order text
3rd material has Basic data 1, Classification, Purchasing, MRP 1, MRP 2 & MRP 3.
4th material has Basic data 1 & Basic data 2.
5th material has Basic data 1, Classification, Purchasing, MRP 1, MRP 2 & MRP 3.
And so on. Now here Iu2019ve notice that every material has different INDUSTRY SECTOR, MATERIAL TYPE AND SELECTION VIEWS. I understand that Industry Sector, Material Type and other data I can specify in my file but how I can control SELECTION VIEWS for different materials. Because for different Selection view coming screens will become different accordingly.
So can somebody can please tell me how I can control different select views for different material and upload it in SAP.
Thanks.Hi
I understand that you are performing LSMW on MM01 transaction code..and are uploading through batch input in LSMW.
Actually, for a tcode like MM01 I dont think you should use LSMW, instead you can go with the BAPI: BAPI_MATERIAL_SAVEDATA.
The views is a serious problem with MM01 when performing using batch input..
So, go through the documentation in SE37 tcode for the BAPI...
The information you get there will help you on how to proceed.
Regards,
Vishwa.
Maybe you are looking for
-
How to block my i phone4 online
How will i block my i phone 4 online from apple. Its now in australia
-
Would I have any issue by installing SnowLeopard in my G5 with OS X 10.3.9?
I would like to update my old OS X 10.3.9 to the new Snow Leopard, any one knows if that would create any conflict?
-
Environmentally friendly - shutting down or sleeping?
Hi there, just wondering if anyone knows which is best in terms of being energy efficient and environmentally friendly? I am a student and use my powerbook intermittently throughout the day - I always wonder whether to shut down or just sleep my lapt
-
How can i view the photos detials?
is there any means i can view the photos details on my iphone 4? thanks
-
Incomplete Image ERROR HELP!!
So I'm stuck I have tried to burn a wedding dvd for a couple three times now and get the same error everytime. I have a 17" Macbook Pro with a phillips external hard drive that is holding the data. Everytime I burn the dvd once its done and has spat