Hiding Customized fields through Config - T88M

Hi,
My system parameter is : ECC 6.0.
As per requirement in my project, I have customized IT7 and added a new field - Annual Time . I am populating that field by default using some logic which wrote in the PBO of the newly created module pool and everything is working fine !!
Query :
Business wants this field to be displayed only for Ausy employees and not for Indonesian employees AND they want this to be done through config only. How can I do that ?
What I have tried :
I can very well go to the PBO and hide this screen reading the WERKS from PA1 for that employee but this is not what is reqd.
They require to hide this using Infotype screen modification.
When I go to SM30 and maintain the Infotype screen modification view : V_T88M and give the newly created module pool name : ZMPA0007 ...it doesnt list down the new;y created fields in this screen !! :-s
So my query is - Is T88M can Only be used to hude standard fields and Not custom fields ?? If it can be used for custom fields also, please let me know how can I see my field there in the list ??
Note : After creating the new field in PM01, I have assigned it to the standard MP00007 screen 2000. So now for all employees this std screen is getting displayed and also my little field at the end.
I tried to modify the feature for this std screen and then I tried to create a new variable based on WERKS and assign some other screen 3000 for all employees and 2000 only for Indonesian employees, but it is not working ... at all the times the screen 2000 with my newly added field is getting displayed.
What am I doing wrong or what do I need to do extra ?? or is it not possible to hide custom fields through Config I have to do it using coding only ??
Experts, please put some light !!
Many Thanks,
Cheers.

Hi Sourav,
In table T588M create two entries for MP000700 with different variable key say according to the molga of the country one aus(xx) and other bagladesh(yy).
Now make the field visible/invisible depending on the country req.
Now go inside the entry, click on feature and give feature name as P0007. Now change the feature according and return the variable key what you assigned to the module pool.
Take the help of functional people to change the feature.
Br/Manas

Similar Messages

  • Adding custom fields  through SE51

    Hi All!
    This is with regards to adding custom fields through Se51 to standard screens.I had added custom field KNVV-ZZKVGR6 to the screen.
    After drawing the text and I/O buttons.When I activate I am getting an syntax error saying Field KNVV-ZZKVGR6 is defined differently in screen (ABAP/4 field,Dictionary field).
    What does this mean.
    Also if i activate with a SAP standard field instead of the custom it is getting activated.
    But for both the ways I could not able to see the output on the actual transaction.Also the new drawings which i am drawing are in brown color(different form the existing one)
    Please advise.
    regards
    Praneeth

    hi Praneeth,
    what is the program name,screen number you are trying to modify..,and after appending the field <b>ZZKVGR6 to KNVV</b> , now go to table and choose menu <b>Utilities->Data base Utility-></b> now click on  <b>Activate and Adjust the Data base</b>, then try to add the field.
    and are you adding the field from Dictionary (i.e you have option Get From Dictionary in that give KNVV table name it will list the fields, choose zzkvgr6 from it, and place it in your screen.)
    the exit which you are adding should be appropriate one
    or else you won't get the desired results. what is the exit..
    Regards
    vijay

  • Update EKKO table for the custom field through BAPI

    Hi Experts,
    I need to create an Custom field in EKKO table through Include Structure.
    Now I have to update that custom field in my program.
    I have gone through the following but could not solve my question.
    Update EKKO table
    User Exit for ME21 PO Creation at the time of saving--Urgent
    I don't need to update when I hit the save button or any thing
    I have the PO's which needs to be updated with that field...
    Any suggestions would be greatly helpful.
    Thanks,
    Chaithanya...
    <removed_by_moderator>
    Edited by: Julius Bussche on Jul 7, 2008 10:47 PM

    Hi Patrick,
    Sorry Patrick you are right.. The structure is at header level.
    I have made the changes still I could not achieve it.
    I have made the following
    In EKKO table I have append the structure with a custom field ZZBUY.
    Now I have also appended BAPI_TE_MEPOHEADER and BAPI_TE_MEPOHEADERX with the custom field
    ZZBUY.
    Here is my program
    Data: wa_bapi_poheader  type BAPIMEPOHEADER,
             wa_bapi_poheaderx type BAPIMEPOHEADERX.
    Data: it1_bapi_poheader  like BAPI_TE_MEPOHEADER,
             it1_bapi_poheaderx like BAPI_TE_MEPOHEADERX.
    CALL FUNCTION 'BAPI_PO_GETDETAIL1'
      EXPORTING
        PURCHASEORDER            = wa_DATA-ebeln
    *   ACCOUNT_ASSIGNMENT       = ' '
    *   ITEM_TEXT                = ' '
    *   HEADER_TEXT              = ' '
    *   DELIVERY_ADDRESS         = ' '
    *   VERSION                  = ' '
    *   SERVICES                 = ' '
      IMPORTING
        POHEADER                 = wa_bapi_poheader
    *    POEXPIMPHEADER           =
      TABLES
        RETURN                   = it_bapireturn
    it1_bapi_poheader-ZZBUY = 'X'.
    it1_bapi_poheaderx-ZZBUY = 'X'.
    it_extensionin-structure = 'BAPI_TE_MEPOHEADER'.
    it_extensionin-valuepart1 = it1_bapi_poheader.
    append it_extensionin.
    Clear  it_extensionin.
    it_extensionin-structure = 'BAPI_TE_MEPOHEADERX'.
    it_extensionin-valuepart1 = it1_bapi_poheaderx.
    append it_extensionin.
    Clear  it_extensionin.
       CALL FUNCTION 'BAPI_PO_CHANGE'
         EXPORTING
           PURCHASEORDER                = wa_data-ebeln
           POHEADER                     = wa_bapi_poheader
           POHEADERX                    = wa_bapi_poheaderx
    *      POADDRVENDOR                 =
    *      TESTRUN                      =
    *      MEMORY_UNCOMPLETE            =
    *      MEMORY_COMPLETE              =
    *      POEXPIMPHEADER               =
    *      POEXPIMPHEADERX              =
    *      VERSIONS                     =
    *      NO_MESSAGING                 =
    *      NO_MESSAGE_REQ               =
    *      NO_AUTHORITY                 =
    *      NO_PRICE_FROM_PO             =
    *    IMPORTING
    *      EXPHEADER                    =
    *      EXPPOEXPIMPHEADER            =
         TABLES
           RETURN                       = it_bapireturn
    *      POITEM                       =
    *      POITEMX                      =
    *      POADDRDELIVERY               =
    *      POSCHEDULE                   =
    *      POSCHEDULEX                  =
    *      POACCOUNT                    =
    *      POACCOUNTPROFITSEGMENT       =
    *      POACCOUNTX                   =
    *      POCONDHEADER                 =
    *      POCONDHEADERX                =
    *      POCOND                       =
    *      POCONDX                      =
    *      POLIMITS                     =
    *      POCONTRACTLIMITS             =
    *      POSERVICES                   =
    *      POSRVACCESSVALUES            =
    *      POSERVICESTEXT               =
           EXTENSIONIN                  = it_extensionin
    *      EXTENSIONOUT                 =
    *      POEXPIMPITEM                 =
    *      POEXPIMPITEMX                =
    *      POTEXTHEADER                 =
    *      POTEXTITEM                   =
    *      ALLVERSIONS                  =
    *      POPARTNER                    =
    *      POCOMPONENTS                 =
    *      POCOMPONENTSX                =
    *      POSHIPPING                   =
    *      POSHIPPINGX                  =
    *      POSHIPPINGEXP                =
    *      POHISTORY                    =
    *      POHISTORY_TOTALS             =
    *      POCONFIRMATION               =
    It gives me messages saying that
    Please also populate interface parameter POHEADERX
    No data changed
    Where am I going wrong..
    Waiting for your replies....
    Thanks,
    Chaitanya

  • Hiding Custom Fields in Migo

    Hi All,
    I have customized the MIGO screen by adding a subscreen with two fields using MB_migo_Badi and the data entered in these fields is saving in a custom data base table using the POST_DOCUMENT method of the BADI.
    I Need to write the code to display these values in the MIGO, only while displaying the
    "Goods Receipt - Purchase Order" & for the rest, fields need to be hidden..
    Please help me on how to solve this problem by suggesting the method or sample code?
    Thanks & Regards,
    Ravi S.

    Hi,
    Thanks For the Reply.
    Actually i knew that procedure.But Looking for some sample code to be written in Loop & Endloop.
    Like
    Loop at screen.
    Here where can i fieldnames for Goods Receipt-Purchase Order in a structure so that i can write
    if structurename-Action = 'a01' and structurename-Refdoc = 'r01'
    screen-active = 0.
    Endloop.
    Also Need to Separate these fields based on Company Code.
    Any Help would be appreciated.
    Thanks & regards,
    Ravi S.
    Edited by: Ravi chandra on Jun 20, 2009 10:39 AM

  • BADI MB_MIGO_BADI not updating custom field in MSEG Table

    Dear Experts,
    I am working on screen exit In MIGO transaction for transfer Posting.
    I checked that BADI MB_MIGO_BADI having facility for screen exit and method line_modify having facility to change GOITEM Structure for the changed line item.
    Now, to make this functionality work I have enhanced include structure CI_COBL which is available in both mseg table and goitem structure, now I have this customized fields on my custome tab through the enhancement and also to update this value 2 custom fields created in goitem structure and MSEG table through include structure  CI_COBL.
    Here my question is at the time of transfer posing creation in MIGO when I am passing the value in custom fields through screen and assigning it to custom fields of structure GOITEM through LINE_MODIFY method, it is giving me below worning message
    BADI: Field GOITEM-ZZIDNLF is not ready for input. (Change is not taken over)
    Now I have debuged the code, also checkout many threads and came to know that because of few checks in standred program (iNCLUDE:LMIGOKL3) these fields will not be updated WHERE IT always checks whether these fields are ready for input or not and if not ready then instead of assigning the values it throws worning message.
    Now can you please through some light how can I go ahead as I have check out many threads and also tried to change value of cs_goitem structure using field symbol but throughing dump that it is blocked against changes through field symbol.
    The helpful answers will be highly appriciated.

    Hi,
    In the badi mentioned by you GOITEM is the importing parameters & if the relevant field is not used in any MIGO screen you cannot change the data.
    Please check example BADI interface: IF_EX_MB_MIGO_BADI~LINE_MODIFY
    Please check the BADI documentation:
    Changed data in GOITEM is only adopted if the relevant fields are visible and ready for input.
    Changed data in GOITEM is not adopted if the relevant field is not used in any MIGO screen (warning via MIGO 049).
    Changed data in GOITEM is not adopted if the relevant fields are not ready for input (warning via MIGO 050)
    Thanks and Regards,
    Chandra

  • Creating Custom fields which are sales org dependent in Accounts Master

    Hello Experts,
    I want to create new custom fields in Accounts Master for sales and shipping.The component being used is BP_SALES.However when I try to create custom fields through AET, the new fields are added in the BUILHEADER context node.The problem with this is, its making the fields Sales Org independent.
    I want to add the fields which are sales org dependent( i.e. want to add the fields for the context nodes BUILSHIPPINGTERMS and BUILSALESARRANGEMENT).
    Please help me in this regards,
    Thanks and Regards,
    Rahim
    Edited by: Abdul Rahim on Dec 27, 2010 9:55 AM

    Hi Rahim,
    in general extension fields for Business Partner are only supported for the header fields (Table BUT000). Therefore the AET does not offer this.
    Table extension for BP sales data is supported by the AET beginning from CRM 7.0 eHP1. If you have this you can just create a 1:1 table enhancements and should be happy. If not I'm afraid that you would have to implement this manually.
    Using the Easy Enhancement Workbench (EEW) it would only be possible to create table extensions for the header and for relation ship but not for sales data.
    Regards Matthias

  • 'BuilHeader not bound' error for custom field added by AET

    Hi,
    We created a Custom field through AET in IC Web UI Screen
    The field is in the Accont Identification screen
    But the field is showing 'Buiheader nto bound error' on loading of the screen.
    We generated the GETTER and the SETTER Methods for the corresponding field in the context node CONTACT PERSONS of the ICCMP_BP_SEARCH Component.
    While Debugging its seen that the
        DATA: current TYPE REF TO if_bol_bo_property_access.
    if iterator is bound.
          current = iterator->get_current( ).
        else.
          current = collection_wrapper->get_current( ).
        endif.
    current  is not getting populated and thats reason why its giving the 'Buiheader not bound error'
    Any suggestions on this will be highly appreciated.
    Regards,
    Sijo
    Edited by: sijokjohn85 on Oct 21, 2009 3:01 PM

    Hi Masood,
    I checked the method create_contactpersons but I couldnt find anything unusual there.
    The code below is present in the  CREATE_CONTACTPERSONS Mehtod of the context class
    model = owner->create_model(
            class_name     = 'ZL_CRMCMP_B_BUPASEARCHB2B_CN01'
            model_id       = 'ContactPersons' ). "#EC NOTEXT
        ContactPersons ?= model.
        CLEAR model.
    * bind to custom controller
      owner->do_context_node_binding(
               iv_controller_type = CL_BSP_WD_CONTROLLER=>CO_TYPE_CUSTOM
               iv_name =
               'ICCMP_BP_SEARCH/CuCoSearch' "#EC NOTEXT
               iv_target_node_name = 'CONTACTPERSONS'
               iv_node_2_bind = CONTACTPERSONS ).
    Any suggestions like how to fix this issue.
    Regards,
    Sijo

  • Custom fields in CATS

    We have created a custom field in the CATS entry screen and this field has been added to the CATSDB table, till then we are clear but my question is how to transfer this custom field to PTEX2000 and PTEXDIR tables and eventually to 2001 and 2002 Infotypes assuming we creating a custom fields even in 2001 and 2002 infotype records.

    Well there is a limitation in SAP to extend on CATS fields. SAP allows to extend on the CATS transaction but does not support pushing custom fields through the entire transaction and updates mechanism. If you really need to do this you will have to do a couple of modifications.
    To ease the pain you can utilize some of the BAdIs and function modules to push data through but you will still need to extend some of th estructures according to your purposes.

  • BAPI_BUS2054_CREATE_MULTI - Populating custom fields

    Hi,
    I am using BAPI BAPI_BUS2054_CREATE_MULTI for creating WBS Elements.
    We have 18 custom fields at WBS element level.
    I am trying to populate the data for those 18 custom fields through EXTENSIONIN table parameter. 
    I am passing BAPI_TE_WBS_ELEMENT to the structure name & values to VALUEPART1. But after the BAPI call,
    its not creating any error or saving the data for WBS Element. 
    Note: i am passing WBS Element at starting position i.e., 0(24)  .  My custom fields starts from 25(3) position onwards.
    Below is the code how i am populating the data to the EXTENSIONIN tables.
    data: lwa_extin       TYPE bapiparex.
    MOVE 'BAPI_TE_WBS_ELEMENT' TO lwa_extin-structure.
      lwa_extin-valuepart1+0(24) = wa_data-posid.
      lwa_extin-valuepart1+25(3) = '1'.
      lwa_extin-valuepart1+28(4) = 'BSUB'.
      lwa_extin-valuepart1+32(4) = 'CONT'.
      lwa_extin-valuepart1+36(3) = '132'.
      lwa_extin-valuepart1+39(6) = 'AUTH'.
      lwa_extin-valuepart1+45(6) = '301'.
      lwa_extin-valuepart1+51(26) = '1'.
      lwa_extin-valuepart1+77(5) = '1'.
      lwa_extin-valuepart1+82(21) = '1'.
      lwa_extin-valuepart1+103(11) = '1'.
      lwa_extin-valuepart1+114(15) = 'IL'.
      lwa_extin-valuepart1+129(50) = '1'.
      lwa_extin-valuepart1+179(50) = '1'.
      lwa_extin-valuepart1+229(11) = '1'.
      lwa_extin-valuepart2+0(10) = 'C'.
      lwa_extin-valuepart2+10(8) = sy-datum.
      lwa_extin-valuepart2+18(8) = sy-datum.
      lwa_extin-valuepart2+26(4) = '1'.
    APPEND lwa_extin TO li_extin.
        CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
          EXPORTING
            i_project_definition = lwa_pspid
          TABLES
            it_wbs_element       = li_wbsele_data
            et_return            = li_return
            extensionin          = li_extin
            extensionout         = li_extout.
    Can any one help me about this issue.
    Regards,
    Kris.

    Hi,
    Are you using 'BAPI_TRANSACTION_COMMIT' after BAPI call?
    If not then try to use as below,
    data: lwa_extin TYPE bapiparex.
    MOVE 'BAPI_TE_WBS_ELEMENT' TO lwa_extin-structure.
    lwa_extin-valuepart1+0(24) = wa_data-posid.
    lwa_extin-valuepart1+25(3) = '1'.
    lwa_extin-valuepart1+28(4) = 'BSUB'.
    lwa_extin-valuepart1+32(4) = 'CONT'.
    lwa_extin-valuepart1+36(3) = '132'.
    lwa_extin-valuepart1+39(6) = 'AUTH'.
    lwa_extin-valuepart1+45(6) = '301'.
    lwa_extin-valuepart1+51(26) = '1'.
    lwa_extin-valuepart1+77(5) = '1'.
    lwa_extin-valuepart1+82(21) = '1'.
    lwa_extin-valuepart1+103(11) = '1'.
    lwa_extin-valuepart1+114(15) = 'IL'.
    lwa_extin-valuepart1+129(50) = '1'.
    lwa_extin-valuepart1+179(50) = '1'.
    lwa_extin-valuepart1+229(11) = '1'.
    lwa_extin-valuepart2+0(10) = 'C'.
    lwa_extin-valuepart2+10(8) = sy-datum.
    lwa_extin-valuepart2+18(8) = sy-datum.
    lwa_extin-valuepart2+26(4) = '1'.
    APPEND lwa_extin TO li_extin.
    CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
    EXPORTING
    i_project_definition = lwa_pspid
    TABLES
    it_wbs_element = li_wbsele_data
    et_return = li_return
    extensionin = li_extin
    extensionout = li_extout.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.

  • CATS custom fields

    Hi,
    how can i activate one of the ten custom fields in CATS? In the IMG i enabled the first field to accept input, ut on the cats main screen nothing changed. What are the next steps?
    cu
      Rainer

    Well there is a limitation in SAP to extend on CATS fields. SAP allows to extend on the CATS transaction but does not support pushing custom fields through the entire transaction and updates mechanism. If you really need to do this you will have to do a couple of modifications.
    To ease the pain you can utilize some of the BAdIs and function modules to push data through but you will still need to extend some of th estructures according to your purposes.

  • Hide customer fields

    Hi all,
    I am new in programming Badi's. Does anybody got an example code for hiding customer fields in a shopping cart?
    I know i need to use badi: BBP_CUF_BADI_2, method "modify screen".
    My customer field is "ztempleet" and is maintaint as a component in structure BBP_PDS_SC_ITEM_ICU.
    Regards
    Jordi

    Hi Jordi,
    Here is the sample code :
    CASE lf_doc_type.
    WHEN 'object_type'
    LOOP AT et_fields INTO ls_fields.
              IF ls_fields-fieldname = 'ztempleet'
                ls_fields-xinput = ' '.
                ls_fields-xdisplay = ' '.
                MODIFY et_fields FROM ls_fields TRANSPORTING xinput xdisplay.
              ENDIF.
    ENDLOOP.
    ENDCASE.
    Thanks,
    Pradeep.

  • Custom fields to be added to the result list through AET

    Hi All,
               I have to add the custom fields to the Result list of the Ibase. I came to know that this can be achieved through the AET(application enhancement tool). I have done the following steps
    1. I  enabled the AET through personalization settings and i clicked on the show configurable area icon.
    2.I have chosen the reult view for which custom field (Zfield)  has to be added.
    3.One pop-up came, but the 'Create New Field' Button is in disable mode.
    Because of this i am not able to add the customi fields to the result list. Please provide me the solution to overcome this issue.
    Regards,
    Lakshman.P

    Hi,
    it is not recommended to create custom field manually. Adding a new field in a BOL structure is not enough. Because you need also the field in the database and maybe also in other structures, i.e. Middleware.
    As far as I know AET is able to enhance IBASE application. In the Config Tool, AET tries to determine which enhanced business object is relevant for the current application(in your case IBASE application). When AET is able to determine an enhanced business object, it will activate the "Create New Field".
    The determination of enhanced business object is based on the UI object type that is set in IBASE application.
    You need to make sure 2 points here.
    1. IBASE application has to set UI object type. Use tab to get the focus in any button of the view that you want to enhance, than press F2. You will get a popup and it shows a field "Object Type(Searched For)". That is the UI object type which is set by the application.
    2. Go to SE11 and open the UI object type table (BSP_DLC_OBJ_TYPE). Search for this object type which is set by the IBASE application and see whether the given result has also an EXT_BO. EXT_BO in this case is the enhanced business object which is used by AET.
    If you do not come any further, please create a CSN message.
    Regards,
    Steve

  • Getting error while adding a custom field (with input help) through AET

    Hi All,
    I need to add two custom field under Service orders at Item level in component BT140I_SRVP.
    One field is required to have the input search help f4 and autopopulates the second field
    I am able to add one field(not requiring help) successfully through AET .
    I have created one Zsearch_help in se11 and its successfully running while I am testing it
    While adding fsecond field through AET,I need to enter following details as -
    field label,search relevant ,serach help etc.
    When I type the name of my 'Zsearch_help' against field search help it gives me following error
    'Search help is not compatible'.
    Please help me out.Kindly be detailed as I am new to SAP CRM.

    Thanks for very helpful reply. After implementing the suggested SAP note, I am able to see the getter and setter methods.
    So one of my problem has got solved with your kind help:)
    As per your another suggestion,I have created the enhanced fields without the search help from AET in the node BTAdminI with names Plant(ZZPLANT) and Storage Location(ZZStoarge_Loc).
    Now I am facing below problem:
    Since Plant needs to autopopulated by Storage Location (search Help ZOFI_SHLP_STORAGE_LOC),So I need to Implement Getter setter method.
    I have written below code into Get_V_ZZStorage_Loc Method:
    method GET_V_ZZSTORAGE_LOC.
      DATA:
        ls_map    TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping,
        lt_inmap  TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,
        lt_outmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab.
        ls_map-context_attr = 'ZZSTORAGE_LOC'.
        ls_map-f4_attr      = 'STORAGE_LOC'. (Storage_loc is the parameter defined in search help)
        APPEND ls_map TO: lt_inmap, lt_outmap.
      CREATE OBJECT rv_valuehelp_descriptor TYPE cl_bsp_wd_valuehelp_f4descr
        EXPORTING
          iv_help_id        = 'ZOFI_SHLP_STORAGE_LOC1'
          iv_help_id_kind   = if_bsp_wd_valuehelp_f4descr=>help_id_kind_callback
          iv_input_mapping  = lt_inmap
          iv_output_mapping = lt_outmap.
    endmethod.
    But its not working.Should I write some code in Get_P_XX or some other method also?
    Kindly suggest .

  • To Update Custom field in mch1 table through MIGO Tcode

    Dear champs,
    I have added one custom field in mch1 table ( date ).
    Now , In MIGO Tcode when i am doing posting, MCH1 table is also updated.
    I want to know how to update my custom field in mch1 table at the time of posting.
    Please tell me where to write logic to update mch1 table.
    Regards,
    Satyen Trivedi

    Hi Satyen,
           what data has to be update in MCH1 table new field, for this did you added any screen or you want to implement your own custom logic.
    1) if you implemented the screen , then you have to write logic there itself.
    2) If you want to update through custom logic , then you takeup with the  Enhancements or BADI.
    Regards,
    Krishna

  • SAP MM Purchase Order custom field pulling through to FI

    Hi
    I have no idea where to start.  I need to create a custom field in the Purchase order which has to pull through to FI.  I've created an Account Assignment category I - Insurance and need to have a field on the Purchase order where the users can fill in the Claim Number. (Reference field).
    I thought I could maybe use the Unloading point field as we don't use it currently, but it doesn't pull through to reports on FI.
    Secondly I would like to link my Account assignment category to a specific General Ledger account (when the user choses Aac I, I would like a G/L to automatically populate and be grey (no changes possible)
    Thanks so much!
    Carina

    I Actually think I found the answer here - http://www.bluemarlinsys.com/ns/0603-03.asp
    1) How to default a General Ledger account on a Purchase Order account assignment for an inventory item?
    When you create a standard Purchase Order using ‘K’ account assignment to expense an inventory item with GL account and cost center, the system expects you to key in GL account number and the cost center. In case you don’t want to use the account modification ‘VBR’ assigned GL account number, it is possible to default a separate GL account with standard configuration steps.
    a) Transaction: OME9 (Maintain account assignment categories)
    Create a new account assignment category ‘Z’ by making a copy of account assignment category ‘K’.  Change account modification to ‘ZBR’.
    b) Transaction: OMGO (Define combination of item categories/account assignment categories)
    Assign account assignment category created in previous step to an item category blank or space.
    Note:
    This is an optional step, if you don’t want to touch the standard ‘K’ cost center account assignment.
    c) Transaction: OBYC (Automatic account assignment configuration)
    Choose account transaction key ‘GBB’ by double clicking the existing entry and choose the appropriate chart of account for your company. Assign the GL account that needs to be defaulted for general modification ‘ZBR’ and valuation class ‘RAW’ (use appropriate valuation class set-up in your company).
    d) Transaction: ME21N to create a purchase order to test the configuration.
    When you create a PO with account assignment ‘Z’ for an inventory item, the system should default the above-configured GL account.
    2) How to default a GL account for a material group when a purchase order is created without a material master?
    If you want to create a purchase order without a material master (service/expense items), the standard SAP R/3 4.x and higher releases, offer functionality to assign a valuation class to a material group. This way automatic MM account assignment can be set-up to drive the appropriate GL account for a material group/valuation class in your company.
    a) Transaction: OMSK (Define valuation class):
    b) Transaction: OMQM (Entry aids for items without a material master):
    Assign the appropriate valuation class for a material group.
    c) Transaction: OME9 (Maintain account assignment categories)
    Create a new account assignment category ‘Z’ by making a copy of account assignment category ‘K’.  Change account modification to ‘ZBR’.
    d) Transaction: OMGO (Define the combination of item categories/account assignment categories)
    Assign the account assignment category created in previous step to an item category blank or space.
    Note:
    This is an optional step if you don’t want to touch the standard ‘K’ cost center account assignment.
    e) Transaction: OBYC:  (Automatic account assignment configuration)
    Choose account transaction key ‘GBB’ by double clicking the existing entry and choose appropriate chart of account for your company. Assign the GL account that needs to be defaulted for general modification ‘ZBR’ and valuation class ‘TRF’ (use the appropriate valuation class set-up in your company).
    f) Transaction: ME21N to create a purchase order to test the configuration.
    Standard order type, Account assignment category ‘Z’ and Material Group ‘TRAFFIC’.
    Account assignment screen:
    Note:
    Before configuring account assignment, please discuss this with your SAP FI/CO functional contact and Accounting department key user for mapping valuation class to General ledger account numbers etc.
    Some of my colleagues in MM Purchasing liked this configuration and I thought your company might also benefit from this in case you want to default the GL account in purchasing to avoid wrong account coding.  

Maybe you are looking for