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

Similar Messages

  • 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

  • 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.

  • CacheConnect Support for Oracle Materialized View

    Does TimesTen cacheconnect support caching Oracle Materialized views? It is my understanding that materialized views are really just Oracle tables under the covers.

    hi Scheung,
    I noted following description in Page40 of standard document 6.0.8 cacheconnect.pdf
    Note: You can define a USERMANAGED cache group to include an Oracle
    materialized view, but the cache group will be restricted, as described in “About
    restricted cache groups” on page 49. Alternatively, you can create any type of
    cache group to include an Oracle detail table for a materialized view.
    and actually in 7.0.2, we can still create usermanaged cache group based on Oracle MV, but the above description disappears in 7.0.2 document. is it deprecated ?

  • 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.

  • How to view SQL for a materialized view in SQL Developer (Oracle 11g R2)

    Good Morning,
    I am new to SQL Developer 3.1.07 and just installed it on a Windows 7 PC yesterday.
    There's a materialized view for which I need to view (and eventually update) the SQL. The mat'lized view is in another schema, but my Oracle user does have access to the schema and to this particular mat'lized view. My user also has SELECT, INSERT, UPDATE, DELETE, DEBUG, and ALTER permissions. When I select (click on) the matl'ized view in the object tree on the left, a multi-tab window opens with information in the Columns, Indexes, Grants, Dependencies and Details tabs, but the SQL pane is blank. I don't know if there's some other GRANT that I need in Oracle, or if there's something else I need to do in SQL Developer to see the matl'ized view SQL.
    Thanks
    Bob Gardner
    [email protected]

    1007420 wrote:
    There's a materialized view for which I need to view (and eventually update) the SQL. The mat'lized view is in another schema, but my Oracle user does have access to the schema and to this particular mat'lized view. My user also has SELECT, INSERT, UPDATE, DELETE, DEBUG, and ALTER permissions. When I select (click on) the matl'ized view in the object tree on the left, a multi-tab window opens with information in the Columns, Indexes, Grants, Dependencies and Details tabs, but the SQL pane is blank. I don't know if there's some other GRANT that I need in Oracle, or if there's something else I need to do in SQL Developer to see the matl'ized view SQL.SQL*Developer can be tricky regarding what it shows for other schemas. I'm not sure what privileges you might need besides the one you listed except RESOURCE on the MV, or maybe CREATE ANY MATERIALIZED VIEW.
    Can you use DBMS_METADATA.GET_DDL to get the data you want (may/may not work due to privileges)?

  • 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.

  • Support for 8i materialized views

    Hi
    Can anyone pls explain in breif what does the new feature "discoverer 4.1 admn supports oracle 8i materialized views" mean???
    I just have an idea what a materilazed view mean..but iam unable to comprehend how discoverer uses or supports this feature.
    Pls help me
    Harati

    While it is certainly true that a query with a UNION may be complex, it is relatively rare that it must be complex. The two things that make a UNION query complex in 10.1 (the criteria do tend to change in different releases) are
    - One of the queries that is being UNIONed is complex
    - The columns in the SELECT list do not match
    In the first case, the root cause of the complexity is not the UNION, so I assume that's not what you have. The second case is generally pretty trivial to resolve, so it would be pretty rare that this would be a roadblock.
    Of course, if you mean that you have a UNION ALL, not a UNION, you have a rather different problem.
    Justin

  • Job for refreshing materialized view will be failed by manually is ok

    Hello to all
    I have created a read only materialized view and i have created a
    stored procedure tha calls DBMS_MVIEW.REFRESH for refreshing the
    materialized view by this script
    CREATE MATERIALIZED VIEW "REZA"."T1_MV2"
    REFRESH FAST WITH PRIMARY KEY
    AS SELECT "T1"."ID" "ID","T1"."NAME" "NAME" FROM "REZA"."T1"@TEHRAN.COM "T1";
    create or replace procedure refresh_mv
    as
    begin
    DBMS_MVIEW.REFRESH (list=>'reza.t1_mv2',push_deferred_rpc=>false,method=>'f');
    end;
    and i have created a job for calling refresh_mv frequently by this script
    DBMS_SCHEDULER.CREATE_JOB (
    job_name => 'MV_JOB',
    job_type => 'STORED_PROCEDURE',
    job_action => 'reza.refresh_mv',
    start_date => SYSTIMESTAMP,
    repeat_interval => 'FREQ=SECONDLY;INTERVAL=90',
    end_date => null
    when i run this job by DBMS_SCHEDULER.RUN_JOB all thing is right and the materialized view will be update
    and STATUS filed in ALL_SCHEDULER_JOB_LOG is SUCCEEDED for that execution
    and it's completion duration is very short (+000000000 00:00:00.141000)
    but when the job execute in its time (my mean is every 90 second) that will be failed and materialized view don't update
    and STATUS filed in ALL_SCHEDULER_JOB_LOG is FAILED for this job
    do you know what is wrong?
    thanks

    thank all of you i myself found the problem that was because of DATABASE LINK i used fixed user database link
    and then the problem refined

  • Restricting Authorisations for different controlling areas

    Hi SAP Gurus,
    I am facing a problem in restricting authorisations for CO Transactions in different controlling ares. We have a new controlling area started recently. But the CO user in this new controlling area is able to create master data in a differnt controlling area (i.e. the old existing controlling area). we have already maintained the new controlling area as org. unit for the relevant company code.
    Giving below an example.
    For t.code KAH1 & KAH2, we have maintained authorization object K_CCA for New Cont Area  with Cost Center group X (Where X is standard hierarchy). Even after that user is able to make changes in KAH2 for another controlling area. We also tried to put value of profit centers instead of "*". This too is not helping.
    Similarly the user is able to create master data in Tr. Codes KO01 / 02, KE51 / 52, KCH2 etc where this user in new controlling area is able to create / change master data from exising old controlling area.
    Can anyone help me please ?
    Thanks.

    Dear Prasad,
    Create a new Role using T Code PFCG and assign the new controlling area and the other relevant
    details and you can assign it to the users.
    I think in your case that particular user is assigned many roles where he has got * value and its allowing
    to make changes on some other controlling area.
    Regards
    Mangalraj.S

  • Error for Refresh Materialized View

    Hi, All
    I get a error when I refresh the Materialized View, But I can't solve this error.
    ORA-12008: error in materialized view refresh path
    ORA-04045: errors during recompilation/revalidation of MV_NAME
    ORA-00600: internal error code, arguments: [qsmqSetupTableMetadata-2], [], [], [], [], [], [], []
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2255
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2461
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2430
    ORA-06512: at line 1
    Do you know how I can solve this problem?
    Please let me know that.
    JWS

    hi,
    can u give some info... like whether the MVs are and from where you are trying to refresh...... we also had similiar prob when we tried to refresh the MV in Schema A from Schema B
    rgds
    Mahesh

  • 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

  • Primary key for a Materialized view

    Hi,
    Can I create a primary key on a materialized view.
    Regards,
    Poulose

    Hi,
    The follwoing is my Mview query, But I am getting missing key word error. Please help.
    create materialized view d_ledger_type_code_mv
    with primary key
    as
    select -1 as ledger_type_code_skey, 'Unknown' as ledger_type_code from dual
    union all
    select rownum as ledger_type_code_skey , replace(ledger_type_code,'''','') from
    select substr (txt,
    instr (txt, ',', 1, level ) + 1,
    instr (txt, ',', 1, level+1) - instr (txt, ',', 1, level) -1 )
    as ledger_type_code, GTA_EDW_CONFIG_FILTER_VALUE
    from (select ','||GTA_EDW_CONFIG_FILTER_VALUE||',' txt, GTA_EDW_CONFIG_FILTER_VALUE from gta_enterprise.GTA_EDW_CONFIG
    where GTA_EDW_CONFIG_FILTER_BKEY = 'GL_TYPE_FILTER')
    connect by level <= length(GTA_EDW_CONFIG_FILTER_VALUE)-length(replace(GTA_EDW_CONFIG_FILTER_VALUE,',',''))+1
    Poulose

Maybe you are looking for

  • How do I keep my Airport Extreme from logging into other networks?

    How can I tell my network to always log into our network and ignore the other signals it finds? In older MacOS's you could tell WiFi to only use trusted networks. My problem is that in my neighborhood there are lots of WiFi users and my airport netwo

  • Use of layout when more than one parameter - Error Missing Parameter Values

    Hi, Is it possible to use a crystal report which has more than one parameter as the layout for the bill of materials report. I have 3 parameters        1. DocKey@       The Bill of Materials to be printed        2. Number of levels to be printed     

  • Modify file permissions in a windows environment

    Hi everyone, I'm currently looking for a way to define a file as readable and writable under a Windows environment. I saw 3 relevant methods in the java.io.File class, which are: setReadable setWritable setExecutable There are 2 versions of those met

  • CAT2: Restrict through P_PERNR

    Hi Experts, I want to restrict the user by using CAT2 transaction only for their personnel no. For that i maintained user parameter CVR & PER in SU3 and it worked fine by defaulting DATA ENTRY PROFILE & PERSONNEL NO. Now, I have to set authorization

  • SOS! iOS6 doesnt install!

    When updating iPhone 4s I am getting "Unable to install update. An error occured installing iOS 6". After that the phone demands to be connected to iTunes but when I connect it via USB, the program doesnt recognize it. Now am have no phone and no upd