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
    az

    Hi,
    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 .
    Satish

    Hi,
    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. 
    Thanks

    Hello,
    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??
    thanks

    If 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
    Darren

    material 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 advance

    Hello,
    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 Sarkar

    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 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 nedded

    hi 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