Badi PO before save

does anyone know any badi for PO before save?
i need validation to popup a message before save.

Hi Oscar,
I have quickly gone through the documentation, but I guess ME_PROCESS_PO_CUST is the one to use (this one is meant for customer enhancements). Also take a look into the documentation of Interface IF_EX_ME_PROCESS_PO_CUST.
Probably method POST is called in update task, this is why your program will not stop at this point (unless you activate update-debugging).
Regards,
John.

Similar Messages

  • I need Badi for PO Before save.

    Hi Abappers,
    i want Badi name for PO Before save.
    Regards,
    vani.

    Hi,
    To find the badi for a particular transaction goto TCode SE24 and give the class name as CL_EXITHANDLER and then display it. now double-click on GET_INSTANCE you will get some source code , put a break point on class name and give TCode on command field then debug . double click on class name and go on pressing F5, you willl get list of BADI's and according to your requirement choose the right one.
    Second procedure:
    Go to SE84, Enhancements< Business-addin< definition(double click) and give package name of particular transaction then you will get BADI's. Read documentation by going to SE18 or SPRO and choose the right one according to your requirement
    I think ME_PROCESS_PO_CUST may satify your requirement.

  • Opportunities - Delete item before save - BADI

    I need to do some checks when adding a new item in an opportunity and depending on these checks, this item must be removed before save.
    I tried in the BADI's ORDER_SAVE and CRM_ORDERADM_I_BADI, using several function modules like: CRM_ORDER_MAINTAIN,  CRM_ORDERADM_I_DELETE_OB, ... but all without result. Using the xxx_OB function modules in the CRM_ORDERADM_I_BADI resulted always in shortdump after the BADI processing.
    Anyone who had to do something similar?
    Thanks a lot!

    Hi Filip,
    I need to understand better what sort of checks would you like to carry out
    <b><u>In my case I needed to cover or block a field in a crm order item, if the status of invoice in status tab at header level, was  "invoice issued".</u></b>
    I used CRM_ORDER_FIELDCHECK as Badi definition.
    I define the code in this way, overwriting the method FIELDCHECK with abap code just to block the field quantity at the item level, as said:
    Code structure:
    1 tables  and structures for CRM_ORDER_READ;
    2 Definition memory parameters
      3 Selection document item by using CRMD_ORDERADM_I to get item-guid
        4 Selection doc number, by usign item-guid
           5  call of  funcition module 'CRM_ORDER_CHANGE_STATUS_GET'
             6 Status check and field quantity blocked (grey colour = A), if status is equal C.
    If you need to change an existing document I suggest using,  as said in the forum, <b><u>Crm_order_maintain, or better employing BAPI CHANGEMULTI</u>[/b<b><u>], which is using CRM_ORDER_MAINTAIN.</u></b>
    I suggest using Bapi 'cause it 's easier to manage, especially concerning Internal tables.
    I had to change Price condition in my CRM ORDERS, when I used such bapi and/or FM crm_order_maintain.
    Just let me know your changes better.
    Please rewards with points if it helps,
    AndreA

  • How can read BOM component date before save the production order??

    Hi Experts,
    In our company, we need to develop a program to read the BOM component data of the production order
    before we save the production order.
    That for example ,when we create and release a production order , before we save the production
    order,we want a porgram to read the BOM component data. If some component data can meet our
    requriement (may be if there is material requirement quantity>100 EA),then the system will pop up a
    small dialog box to remind us.
    There is user exit PPCO0007 and PPCO0007.But it seems they only can read the head data of the
    production order before we save the production order. And the BOM component data of the production
    order are saved in the RESB(Reservation Table).So if we do not save the production order,all the BOM
    component data are not saved in the RESB table.
    So how can slove the problem??
    How can read component date before save the production order??
    Are there any other user exit we can use???

    Hi Just wanted to check am I right that you are trying to check if you have enough Materials Available before you release or Save the order right ? if this is your business objective then when you create order you have material availability tab which checks and gives error if shortage is there. Please let me know if is this wht you asking for ?

  • BADI name during SAVE after creating or changing a material in MM01and MM02

    Hi gurus,
    Please refer me BADI name during SAVE after creating or changing a material in MM01and MM02.
    Whenever a user changes or creates a meterial ,I want the BADI name at that point.Exit name or Enhancement point will also suffice.Please help..

    Hi,
    Enhancement: MGA00001
    Function module Exit : EXIT_SAPLMGMU_001 Enhancements for Material Master Tables
    BADI_MATERIAL_CHECK  Enhanced Checks for Material Master Tables
    BAPI_MATERIAL_SAVEDATA Create and Change Material Master Data

  • BAdI in SPRO SAVE

    Hi All,
    I need to use the BAdI called at save time from SPRO, could some one help me
    which BAdI i can use.
    for example. I change customizing in Order processing, when saved I need my BAdI implementation to be called.
    thanks a lot for the support,
    Anjan

    Check here....SE80 -> Repository Information System -> Enhancements -> Business Add-Ins > Definitions -> HRPAD00INFTYBL
    or check under ESS.
    SAP Note :1668794 - Multiple use of the BAdI HRPAD00INFTYBL
    Mohan

  • User exit or BAdI for MIRO(before save)

    Hi all,
    My requirement is for tcode MIRO to change the table control data, 'amount' field in po reference tab for drseg as soon as the user hits 'enter' after putting the po number.
    plz suggest if there is any user exit or badi to achieve the same.
    Thanks n regards,
    Mukesh Yadav

    Hi,
    Check the following.
    <exit farm removed by moderator>
    Moderator message: please reply with specific information only.
    Edited by: Thomas Zloch on Jun 3, 2011 10:20 AM

  • Exit/badi to be used just before save in MM01/MM02

    hi all...
    the requirement is that i have appended a field in MARA.
    the problem is that i need to put some checks on this field.
    so i would be writing a code for it in an exit or in a badi if possible.
    awaiting your reply and thanks in advance

    Hi,
      Use the enhancement MGA00001 and write the code in the function exit EXIT_SAPLMGMU_001,
    Hope this helps,
    Rgds,

  • How to change order header data before SAVE in CRM 2007

    Hi,
    I want to modify service order header value before saving it, to achieve this :
    1) Implemented BADI ORDER_SAVE
    2) in the method CHECK_BEFORE_SAVE, read order details by using FM CRM_ORDER_READ and done all validations.
    3) Now i want modify one field value. how to do that ?
    i came to know that by using FM CRM_ORDER_MAINTAIN or CRM_ORDERADM_H_MAINTAIN_OW data can be update/modify.
    Is this right ? what are the parameters i need to pass and exactly in which method i have use this FM.
    I want to pass the value in CRMT_ORDERADM_H_WRK(ET_ORDERADM_H) structure i.e. only for one filed.
    Please let me know how it can be done.
    Thanks
    Bhanu

    Hi,
    I am using following code, please correct if it is wrong.
    DATA : IS_ORDERADM_H_COM  TYPE CRMT_ORDERADM_H_COM,
               CT_ORDERADM_H  TYPE  CRMT_ORDERADM_H_COMT,
               IT_INPUT_FIELDS    TYPE CRMT_INPUT_FIELD_TAB,
               WA_INPUT_FIELDS    TYPE CRMT_INPUT_FIELD,
               IT_FIELD_NAMES     TYPE CRMT_INPUT_FIELD_NAMES_TAB,
               WA_FIELD_NAMES     TYPE CRMT_INPUT_FIELD_NAMES,
               IT_SERVICE_H       TYPE  CRMT_SERVICE_H_COMT,
               WA_SERVICE_H       TYPE  CRMT_SERVICE_H_COM.
    After reading order header data from "'CRM_ORDER_READ", pass header data to below structure
        MOVE-CORRESPONDING EW_ORDERADM_H TO IS_ORDERADM_H_COM.
       IS_ORDERADM_H_COM-ZZFLD00000Y = '123456'.  <== want to save value in this field created on service header screen by using AET
        APPEND IS_ORDERADM_H_COM TO CT_ORDERADM_H.
        WA_SERVICE_H-REF_KIND = 'A'.
        WA_SERVICE_H-REF_GUID = EW_ORDERADM_H-GUID.
        WA_SERVICE_H-MODE     = 'B'.
        APPEND WA_SERVICE_H TO IT_SERVICE_H.
        WA_INPUT_FIELDS-REF_GUID = EW_ORDERADM_H-GUID.
        WA_INPUT_FIELDS-REF_KIND    = 'A'.
        WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_H'. <= Is this right ?
       WA_INPUT_FIELDS-LOGICAL_KEY =  ? what is nothing but logical key
        WA_FIELD_NAMES-FIELDNAME  = 'ZZFLD00000Y'.
        WA_FIELD_NAMES-CHANGEABLE = 'X'.
        APPEND WA_FIELD_NAMES TO IT_FIELD_NAMES.
        WA_INPUT_FIELDS-FIELD_NAMES = IT_FIELD_NAMES.
        APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
    CALL FUNCTION 'CRM_ORDER_MAINTAIN'
        EXPORTING
       IT_SERVICE_H                  = IT_SERVICE_H <= is this required ?
        CHANGING
           CT_ORDERADM_H              = CT_ORDERADM_H
          CT_INPUT_FIELDS                = IT_FIELD_NAMES
         EXCEPTIONS
           ERROR_OCCURRED                = 1
           DOCUMENT_LOCKED               = 2
           NO_CHANGE_ALLOWED             = 3
           NO_AUTHORITY                  = 4
           OTHERS                        = 5.
        IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    awaiting for your replies
    Thanks
    Bhanu
    Edited by: Bhanupracash on Apr 6, 2011 2:14 PM

  • Change BP number before save

    Hello,
    We want to use an external number range for BP, the number must be assigned during the save using a Z FM for the determination of this number.
    2 problems :
    - Where to put a dummy number to avoid the message asking to enter a number for the BP?
    - Where to put the FM to get the correct number during the save. We do not want to assign the correct number before the save to avoid gaps in the BP numbers.
    BADI BUPA_GENERAL_UPDATE could be the solution for the save but which FM can we use to update the BP number in this BADI?
    Thanks for your help,
    Regards,
    Frédéric

    Hello Anoop,
    Could you please let me know if you where able to resolve this issue? If yes, how?
    I have a similar requirement and still working on solution for this.
    Thanks in advance.
    Regards,
    Senthil G.

  • Update BUPA fields before save

    Hi,
    I need to update certain CI fields on BUT000 according to specific business logic before the Business Partner is saved.
    I tried using the BADIs - PARTNER_UPDATE, BUPA_GENERAL_UPDATE and BUPA_GENERAL_EXPORT but was unable to save the changes inspite of using function modules such as BUP_MEMORY_BUT100_FILL to make changes to the buffer.
    Any help would be appreciated.
    Thanks,
    Rohini.

    Hi Rohini,
    Use the PARTNER_UPDATE badi along with the function module BUPA_CENTRAL_CI_CHANGE.
    1. Write the code in the CHANGE_BEFORE_UPDATE method.
    2. To get the partner guid from memory use the function module BUP_MEMORY_BUT000_GET and pass the partner number to it.
    3. After getting the partner guid, populate the custom fields in the function module BUPA_CENTRAL_CI_CHANGE and pass the partner GUID to the same.
    4. Call BAPI_TRANSACTION_COMMIT to commit the work done by BAPI.
    It should solve your problem.
    Refer the code below for your ref :
    *   Get the Partner GUID from Buffer
          CALL FUNCTION 'BUP_MEMORY_BUT000_GET'
            EXPORTING
              iv_partner      = gv_customer
            IMPORTING
              es_but000       = wa_but000
            EXCEPTIONS
              not_found       = 1
              parameter_error = 2
              OTHERS          = 3.
          IF sy-subrc = 0.
            lv_customer_guid = wa_but000-partner_guid.
    *       Populate the Company Charity Number to the structure to be
    *       passed to the bapi
            ls_bus000_eew1-partnr_guid     = lv_customer_guid.
            ls_bus000_eew1-zzreg_num0001   = gs_bp_org-company_charity_no.
            ls_bus000_eew1_x-partnr_guid   = lv_customer_guid.
            ls_bus000_eew1_x-zzreg_num0001 = gc_x.
    *       Function module to populate the enhanced fields
            CALL FUNCTION 'BUPA_CENTRAL_CI_CHANGE'
              EXPORTING
                is_bus000_eew   = ls_bus000_eew1
                is_bus000_eew_x = ls_bus000_eew1_x
                iv_xsave        = 'X'
              IMPORTING
                et_return       = lit_busreturn1.
    <b>Reward points if it helps.</b>

  • Get Data for BP before save

    Hi,
    I need to get all the data of the BP during the create/ Change before the save,
    I am using the BADI : BUPA_GENERAL_UPDATE.
    Is there any way by which i can get all the data of the BP from the buffer as it is not yet saved.
    I need the address,Telephone and email data.
    Thanks.
    Rohita .

    Hi,
    Try using the function module 'CRMM_BUPA_CURRENT_MEMORY_GET'. This will grab the current BP details.
    Hope this helps.
    Karuna.

  • Add positions before save order

    Hi experts,
    I dont know how I can add some lines, positions, in the crmd_order, before to save, in the creation of the documents...
    In this lines i have to set the number_int. This is for complaints. I have check some badis like CRM_ORDERADM_I_BADI..but i dont know if it is possible to do it here...
    Any suggestions?
    Thanks in advance,
    Mon

    Hi,
    I cant call CRM_ORDER_MAINTAIN inside method enqueue, because it produces a recursive call of CRM_ORDER_MAINTAIN  Maybe I need another function to insert lines before create the document...but I dont know what..
    I use this code:
    ** CT_ORDERADM_I:
    *ORDERADM_I-HANDLE             = HANDLE_1.
      orderadm_i-handle             = '000000001'.
    *ORDERADM_I-HEADER             = GUID.
      orderadm_i-header             = IV_HEADER_GUID.
      orderadm_i-mode               = 'A'.
      orderadm_i-number_int         = '10'.
      APPEND orderadm_i TO ct_orderadm_i.
      CLEAR orderadm_i.
        fields-ref_handle  = '000000001'.
    *FIELDS-REF_GUID    = GUID.
        fields-ref_kind    = 'B'.
        fields-objectname  = 'ORDERADM_I'.
        lin_fields-fieldname = 'MODE'.
        APPEND lin_fields TO tab_fields.
        CLEAR lin_fields.
        lin_fields-fieldname = 'NUMBER_INT'.
        APPEND lin_fields TO tab_fields.
        CLEAR lin_fields.
        lin_fields-fieldname = 'PRODUCT'.
        APPEND lin_fields TO tab_fields.
        CLEAR lin_fields.
        MOVE tab_fields TO fields-field_names.
        APPEND fields TO input_fields.
        CLEAR: fields, tab_fields[].
    *ORDERADM_I-HANDLE             = HANDLE_1.
      orderadm_i-handle             = '000000002'.
    *ORDERADM_I-HEADER             = GUID.
      orderadm_i-header             = IV_HEADER_GUID.
      orderadm_i-mode               = 'A'.
      orderadm_i-number_int         = '20'.
      APPEND orderadm_i TO ct_orderadm_i.
      CLEAR orderadm_i.
        fields-ref_handle  = '000000002'.
    *FIELDS-REF_GUID    = GUID.
        fields-ref_kind    = 'B'.
        fields-objectname  = 'ORDERADM_I'.
        lin_fields-fieldname = 'MODE'.
        APPEND lin_fields TO tab_fields.
        CLEAR lin_fields.
        lin_fields-fieldname = 'NUMBER_INT'.
        APPEND lin_fields TO tab_fields.
        CLEAR lin_fields.
        lin_fields-fieldname = 'PRODUCT'.
        APPEND lin_fields TO tab_fields.
        CLEAR lin_fields.
        MOVE tab_fields TO fields-field_names.
        APPEND fields TO input_fields.
        CLEAR: fields, tab_fields[].
      CALL FUNCTION 'CRM_ORDER_MAINTAIN'
        IMPORTING
          et_exception      = exception_t
        CHANGING
    *      ct_orderadm_h     = orderadm_h
          ct_orderadm_i     = ct_orderadm_i
          ct_input_fields   = input_fields
    *      cv_log_handle     = log_handle
        EXCEPTIONS
          error_occurred    = 1
          document_locked   = 2
          no_change_allowed = 3
          no_authority      = 4
          OTHERS            = 5.
    Regards and thanks in advance.
    Mon

  • Exit before save a Service Sheet

    People,
    I need to control amounts before a service sheet is saved. I tested the user-exits and badis available for this situation and I can not find one that runs right before being recorded. Is There another exit besides which provides me the transaction SPRO, or is there another way to do that.
    Thanks in advanced,
    Esther Pastorino.

    Hi,
    Here si a list of all the enhancements for servicing in purchasing.
    SRV_FRM   SRV: Formula calculation (obsolete since 4.0A!)
    SRVDET    User screen on tab strip of service detail screen
    SRVEDIT   Service list control (maintenance/display)
    SRVENTRY  Unplanned part of entry sheet (obsolete since Rel. 3.1G
    SRVESI    Data conversion entry sheet interface
    SRVESKN   Set account assignment in service line
    SRVESLL   Service line checks
    SRVESSR   Set entry sheet header data
    SRVEUSCR  User screen on entry sheet tabstrip
    SRVKNTTP  Setting the account assgnmt category when reading in, i
    SRVLIMIT  Limit check
    SRVMAIL1  Processing of mail before generation of sheet
    SRVMSTLV  Conversion of data during importing of standard service
    SRVPOWEB  Purchase order for service entry in Web
    SRVQUOT   Service export/import for inquiry/quotations
    SRVREL    Changes to comm. structure for release of entry sheet
    SRVSEL    Service selection from non-SAP systems
    Maybe try evaluating SRVREL    Changes to comm. structure for release of entry sheet
    regards,
    Lalita

  • Display PO item text before save

    Need to display item text of Purchase Order in print preview before the PO is saved.
    How do I achieve this.
    When PO is saved Iable to get the Item text using FM : Read_Text.
    I have searched the thread mentioned solutions donot satisfy my requirement.

    Hi,
    Use the following sample code in ME_PROCESS_PO_CUST (BADI). for me it is working
      TYPES: BEGIN OF IT1," occurs 0 with header line,
              WORD1 TYPE C LENGTH 10 ,
              WORD2 TYPE C LENGTH 5,
             END OF IT1.
      DATA: IT2 TYPE IT1 ."occurs 0 with header line.
           IT2-WORD1 = '          '.
          IT2-WORD2 = ITM_DATA-EBELP.
          ST1 = IT2.
          TDNAME = ST1.
          OBJECT = 'EKPO'.
          ID = 'F01'.
          EN = 'EN'.
          CALL FUNCTION 'READ_TEXT'
            EXPORTING
              CLIENT                  = SY-MANDT
              ID                      = ID
              LANGUAGE                = EN
              NAME                    = TDNAME "' 00010' "TDNAME
              OBJECT                  = OBJECT
            TABLES
              LINES                   = LINES1
            EXCEPTIONS
              ID                      = 1
              LANGUAGE                = 2
              NAME                    = 3
              NOT_FOUND               = 4
              OBJECT                  = 5
              REFERENCE_CHECK         = 6
              WRONG_ACCESS_TO_ARCHIVE = 7
              OTHERS                  = 8.
    regards,
    sathis

Maybe you are looking for

  • Edit in Photoshop CS 5 not working with 6.4.1

    I recently updated to 6.4.1.  When I try to do an "Edit in Adobe Photoshop CS5..." on a file, CS5 starts up but the file never appears. My platform is Windows XP SP 3.  Camera Raw Plug-in in CS5 is 6.4.1.145. This happens for RAW files as well as TIF

  • Mid 2010 Mac Pro boot camp recognizing 1.86GB RAM

    I have a mid 2010 Mac Pro w/ 6GB RAM and a dedicated video card. Win7 32-bit is boot camped on it. I know 32-bit Windows can only use 3.75GB of RAM. However, this Mac Pro is only seeing 1.86GB. Since this is Win7, no boot.ini is available for /3GB sw

  • How to resolve Exception in thread "main" java.lang.NoSuchFieldError: strm

    Hi, Aplogies, if I am posting this in the wrong place, else please guide me. We were running JBoss server 4.2.3 GA with Java 5 Update 19 in Solaris 10. Details of uname command in Solaris box is, uname -a SunOS uktapp06 5.10 Generic_125100-10 sun4us

  • Possible for Native SQL to read Pooled Tables?

    Hi Experts, Is it possible to run native SQL against SAP's internal Pool Table, the table that stores the many "Pooled Tables" across SAP?  I realize that is much preferred to access the pooled table using Open SQL via ABAP functions, but that is not

  • Weird, unsolvable bug

    Hey guys!  I'm having quite the problem with the OS.  Here are some pictures and a video of it in action: Ok for some reason the images look flipped on the website. But anyway, this is recurring everytime I boot up or log off.  I have done a reinstal