Problem in enhancing the Purchase Order BADI with custom fields

Hi All,
I have problem  in populating the  cutom fields for the Purchase Order. I have created a custon include  and i am passing the values to the extension of the  Function module BAPI_PO_CHANGE  In ECC 6.0. I have  one currency field (ZZMASSIST)  in the header level and  three curr fields in the  item level  , due to this currfields we are getting the errors like "Error transferring ExtensionIn data for enhancement CI_EKPODB" and "Error transferring ExtensionIn data for enhancement CI_EKKODB" .
So i  am looking to implement  the BADI   "ME_BAPI_PO_CUST " . Please provide me the sample code for maintain the currency fields in method IF_EX_ME_BAPI_PO_CREATE_02~MAP2I_EXTENSIONIN.
Thanks in Advence.
Regards,
Venkat Appikonda.

Hi Venkat,
Saw that you solved the issue, can I ask how do you implement it? Is the implementation done in the BAPI itself?

Similar Messages

  • Problem in Rejecting the purchase order release workflow

    Hai Friends ,
                  I did the purchase order workflow. it will working fine. when a approver refused the release, the intimation need to send to the previous approvers as well as po creator.  but there is no method available in the bus2012 for purchase order rejected. what i want to do  ? 
                     i did the purchase requisition workflow also. In that workflow there is a method in the name of " InfoReleaseRejected".   i used this method in my task it will working fine. but there is no method available for Purchase Order.
    Regads,
    R. Sathis Kumar

    Hai suthakar,
               I created the customized workflow. this workflow working well when the approvers approved. but it is not do anything when approver reject the release.
    Regards,
    Sathis Kumar R

  • Need to find how to relate the purchase order table with account assignment

    i need to reterieve the account assignment from the table bbp_pdacc, what is field or any tables that is between BBP_PDACC and Purchase order number or the purchase order items. I am working on the SRM system

    Jacques-Antoine,
    You can't directly translate a repeating node or element (such as an Item or a Project Task from the Accounting Coding Block of an Item) to a singular node or element.
    The reason is that, though your use case may have the elements assumed to be the same for all items, this isn't necessarily the case, so ByDesign won't assume that you can use that kind of logic.
    The simplest approach would be to do an On-Save at the Root node of the Purchase Order along the following lines:
    this.projecttaskpo = this.Item.GetLast().ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment.ProjectTaskKey.TaskID;
    i wouldn't actually recommend this code.
    You'd need validations for IsInitial, IsSet, and those kinds of functions.
    i'd at least use some foreach loop to check that all the accounting coding blocks were for the same task, raise warnings if they weren't, etc.

  • Problem in replicating the purchase order items

    Hi,
    The Requirement  is to replicate the line items of Purchase Order in ME23N which is extracted from BAPI_PO_GETDETAIL1 and copy it  in BAPI_PO_CHANGE .
    The problem is when i am passing ACCTASSCAT(Account assignment category) it is not replicating else it is replicating.
    while debugging the program the i am getting the data into internal table but it is not getting updated in database (ME23N).
    I am getting messages in RETURN table as follows:
    Instance 4200000020 of object type PurchaseOrder could not be changed
    Purchase order item 00170 still contains faulty account assignments
    Please also populate interface parameter POITEMX
    Account 402201 requires an assignment to a CO object
    Please find the code below.

    move 'X' to LT_ITEMX-HL_ITEM.
        move 'X' to LT_ITEMX-GR_TO_DATE.
        move 'X' to LT_ITEMX-SUPP_VENDOR.
        move 'X' to LT_ITEMX-SC_VENDOR.
        move 'X' to LT_ITEMX-KANBAN_IND.
        move 'X' to LT_ITEMX-ERS.
        move 'X' to LT_ITEMX-R_PROMO.
        move 'X' to LT_ITEMX-POINTS.
        move 'X' to LT_ITEMX-POINT_UNIT.
        move 'X' to LT_ITEMX-POINT_UNIT_ISO.
        move 'X' to LT_ITEMX-SEASON.
        move 'X' to LT_ITEMX-SEASON_YR.
        move 'X' to LT_ITEMX-BON_GRP2.
        move 'X' to LT_ITEMX-BON_GRP3.
        move 'X' to LT_ITEMX-SETT_ITEM.
        move 'X' to LT_ITEMX-MINREMLIFE.
        move 'X' to LT_ITEMX-RFQ_NO.
        move 'X' to LT_ITEMX-RFQ_ITEM.
        move 'X' to LT_ITEMX-PREQ_NO.
        move 'X' to LT_ITEMX-PREQ_ITEM.
        move 'X' to LT_ITEMX-REF_DOC.
        move 'X' to LT_ITEMX-REF_ITEM.
        move 'X' to LT_ITEMX-SI_CAT.
        move 'X' to LT_ITEMX-RET_ITEM.
        move 'X' to LT_ITEMX-AT_RELEV.
        move 'X' to LT_ITEMX-ORDER_REASON.
        move 'X' to LT_ITEMX-BRAS_NBM.
        move 'X' to LT_ITEMX-MATL_USAGE.
        move 'X' to LT_ITEMX-MAT_ORIGIN.
        move 'X' to LT_ITEMX-IN_HOUSE.
        move 'X' to LT_ITEMX-INDUS3.
        move 'X' to LT_ITEMX-INF_INDEX.
        move 'X' to LT_ITEMX-UNTIL_DATE.
        move 'X' to LT_ITEMX-DELIV_COMPL.
        move 'X' to LT_ITEMX-PART_DELIV.
        move 'X' to LT_ITEMX-SHIP_BLOCKED.
        move 'X' to LT_ITEMX-PREQ_NAME.
        move 'X' to LT_ITEMX-PERIOD_IND_EXPIRATION_DATE.
        move 'X' to LT_ITEMX-INT_OBJ_NO.
        move 'X' to LT_ITEMX-PCKG_NO.
        move 'X' to LT_ITEMX-BATCH.
        move 'X' to LT_ITEMX-VENDRBATCH.
        move 'X' to LT_ITEMX-CALCTYPE.
        move 'X' to LT_ITEMX-NO_ROUNDING.
        move 'X' to LT_ITEMX-PO_PRICE.
        move 'X' to LT_ITEMX-SUPPL_STLOC.
        move 'X' to LT_ITEMX-SRV_BASED_IV.
        move 'X' to LT_ITEMX-FUNDS_RES.
        move 'X' to LT_ITEMX-RES_ITEM.
        move 'X' to LT_ITEMX-GRANT_NBR.
        move 'X' to LT_ITEMX-FUNC_AREA_LONG.
        move 'X' to LT_ITEMX-ORIG_ACCEPT.
        move 'X' to LT_ITEMX-ALLOC_TBL.
        move 'X' to LT_ITEMX-ALLOC_TBL_ITEM.
        move 'X' to LT_ITEMX-SRC_STOCK_TYPE.
        move 'X' to LT_ITEMX-REASON_REJ.
        move 'X' to LT_ITEMX-CRM_SALES_ORDER_NO.
        move 'X' to LT_ITEMX-CRM_SALES_ORDER_ITEM_NO.
        move 'X' to LT_ITEMX-CRM_REF_SALES_ORDER_NO.
        move 'X' to LT_ITEMX-CRM_REF_SO_ITEM_NO.
        move 'X' to LT_ITEMX-PRIO_URGENCY.
        move 'X' to LT_ITEMX-PRIO_REQUIREMENT.
        move 'X' to LT_ITEMX-REASON_CODE.
        move 'X' to LT_ITEMX-LONG_ITEM_NUMBER.
        move 'X' to LT_ITEMX-EXTERNAL_SORT_NUMBER.
        move 'X' to LT_ITEMX-EXTERNAL_HIERARCHY_TYPE.
        move 'X' to LT_ITEMX-RETENTION_PERCENTAGE.
        move 'X' to LT_ITEMX-DOWNPAY_TYPE.
        move 'X' to LT_ITEMX-DOWNPAY_AMOUNT.
        move 'X' to LT_ITEMX-DOWNPAY_PERCENT.
        move 'X' to LT_ITEMX-DOWNPAY_DUEDATE.
        move 'X' to LT_ITEMX-EXT_RFX_NUMBER.
        move 'X' to LT_ITEMX-EXT_RFX_ITEM.
        move 'X' to LT_ITEMX-EXT_RFX_SYSTEM.
        move 'X' to LT_ITEMX-SRM_CONTRACT_ID.
        move 'X' to LT_ITEMX-SRM_CONTRACT_ITM.
        move 'X' to LT_ITEMX-BUDGET_PERIOD.
        append LT_ITEMX.
        clear LT_ITEMX.
      endloop.
      describe table LT_ITEM1 lines LV_NO.
      sort LT_ITEM1[] by PO_ITEM.
      read table LT_ITEM1 index LV_NO.
      append lines of LT_ITEM1 to LT_ITEM.
      clear LT_ITEM.
      LV_NUM = LV_NO * 10.
      condense LV_NUM.
      concatenate '000' LV_NUM into LV_NUM.
      loop at LT_ITEM where PO_ITEM is not initial.
        LV_INDEX = SY-TABIX.
        read table LT_ITEM1 with key PO_ITEM = LT_ITEM-PO_ITEM.
        if SY-SUBRC eq 0.
          if LV_INDEX gt LV_NO.
            LT_ITEM-PO_ITEM = LT_ITEM-PO_ITEM + LV_NUM.
            modify LT_ITEM transporting PO_ITEM.
          endif.
        endif.
      endloop.
    *LOOP at i_item.
      call function 'BAPI_PO_CHANGE'
        exporting
          PURCHASEORDER = LS_TAB-V_EBELN
        tables
          RETURN        = LT_RETURN
          POITEM        = LT_ITEM
          POITEMX       = LT_ITEMX.
    *ENDLOOP.
      if not lt_iTEM[] is initial..
        call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            WAIT   = 'X'.
         importing
           RETURN = LT_RETURN.
       WRITE: I_RETURN-MESSAGE.
      endif.
    endform.

  • Wanted To Channge The Standsrd Purchase Order Template with Customized Temp

    Hi ALL,
    I m using oracle 11.5.10.2. I want to change the template attached with the Standard Purchase Order(PO_STANDARD_XSLFO) which is in XSL-FO Formatt.I want to use my customized template for printing Purchase order.I attached one template with the same Data definition which the standard template is having.
    But still it is taking the standard template not the customized one. Can u tell me how i can attch the customized template with the standard Purchase Order. And one thing more if i want to update the exisiting Standard template then how i can update it bcoz the update is disabled for that template.
    Thanx
    Ravi

    Hi Klause,
    Thanx, for ur Reply. I did the same thing.....i copied the xsl-fo for standard template and i just removed the braces from there, which was for printing purpose only. this is the change what i did....
    <fo:inline xsl:use-attribute-sets="legal_details_style">
    <xsl:value-of select="TOTAL_AMOUNT" />
    <fo:leader leader-pattern="space" leader-length="2.0pt" />
    ( --------------i removed this brace
    <xsl:value-of select="CURRENCY_CODE" />
    ) --------------i removed this brace
    </fo:inline>
    and the rest is similar to the standard template.. But it has given me that error....
    Error while generating the PDForacle.apps.xdo.XDOException genDoc() : Exceptionjava.lang.Exception: Error while generating PDF :null java.lang.Exception: Error while generating PDF :null java.lang.Exception: Error while generating PDF :null at oracle.apps.po.communicate.PoGenerateDocument.genDoc(PoGenerateDocument.java:2084) at oracle.apps.po.communicate.PoGenerateDocumentCP.runProgram(PoGenerateDocumentCP.java:302) at oracle.apps.fnd.cp.request.Run.main(Run.java:148)
    Thts the error...which i m getting..... Can u help me out.....
    Thanx
    Ravi

  • Customized R12 Standard Purchase Order report with custom data and layout

    Hi all,
    We need to customize the seeded Purchase Order report in R12 to add an additional section to include cost data coming from our custom table. The key is that our customized report should be launched instead of the seeded report via various PO forms (e.g. View Document menu option, PO Communications form to email, fax and print PO, etc).
    I manually set up a custom Document Type Layout for the Document "Standard Purchase Order" to use my customized template so my custom layout is shown instead of the R12 layout, but according to Oracle support the report can only draw data from a set of seeded Oracle views like po_headers_xml,po_lines_xml etc.
    Any suggestions how we can add our custom data to PO report in R12?
    Thanks! Mike.

    Hi Mike
    thats a tough one, the PO generation is a bit restrictive to say the least when it comes to customizing. It sounds like you have worked out how to get your own template in there to render the PO.
    On the data front, all I can think of is to customize and replace the seeded PO view with one that incorporates your extra data.
    Or, get into the page customization world and write your own extract and format concurrent program/procedure and then hook it onto the buttons where you want to launch it.
    You might have more luch, response wise from the EBS PO forum.
    Procurement : Procurement
    OAF: OA Framework
    Regards
    Tim

  • Reference field while extending Order Object with custom fields using EEWB

    Hi,
      I am using EEWB to extend Order. i have to add Quantity fields, while generation it gives the following error:
    Diagnosis:
    You must specify reference tables and reference fields for fields containing amount or quantity data. You have specified either only the reference field or the reference table and have not maintenance either ready.
    Procedure:
    Add the missing entry. You can do this with the single field maintenance function of the table.
    Can someone explain what will I need to do? Is its a something outside EEWB which I would need to do.
    Thanks,
    SG.

    Hi
    check the item category table CRMD_ORDERADM_I (Item data) for necessary fields there u can find that
    Item No
    Item Number in Document
    NUMBER_INT
    Product ID
    Product Name Entered
    ORDERED_PROD
    Quantity
    Unit of Measure
    PROCESS_QTY_UNIT
    Unit
    CRM Schedule Line Quantity
    QUANTITY
    Hope it helps u
    Regards
    Manohar

  • How to extend Project Task in the Purchase Order header?

    Hi everybody,
    I am facing a problem I am sure is not so hard, but I cannot find my way through it.
    So, my objective is to extend the Purchase Order Header with the Project Task ID.
    I created the extension field first, as below:
    But I just cannot find how to populate it automatically from the data in the Project Task field.
    I tried a Relation in a BO extension going through the AccountingBlockAssignement, but it seems to not be functional.
    I also tried to make a Reference to the extension field and created an Event After Modify like:
    this.projecttaskpo = this.ExtensionForPO.content
    The Project Task PO is my reference to the extension field created in the Cloud Solution.
    And the ExtensionForPO is my relation to the TaskID:
    import AP.Common.GDT;
    import AP.Purchasing.Global as Purchasing;
    import AP.ProjectManagement.Global as ProjectManagement;
    import AP.IS.CodingBlock.Global as Coding;
    [Extension] businessobject AP.Purchasing.Global:PurchaseOrder {
      [Relation(Coding:AccountingCodingBlockDistribution.AccountingCodingBlockAssignment.ProjectTaskKey.TaskID)]
      [Label("Project ID")] element ExtensionForPO : TaskID;
        node Item {
    I am pretty sure this is not so hard, but I can't figure how to do it.
    The Task ID is in the Line Item so I do not understand why it could be so hard to add it in the Purchase Order Header.
    Moreover, when I try to make the path directly from the PurchaseOrder, like:
    PurchaseOrder.Item.ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment.ProjectTaskKey.TaskID
    It returns to me that the association between Item and ItemAccountingCodingBlockDistribution is not a node. I know that, but it would be perfect if I could directly go from the Purchase Order BO to the Project Reference and the Project Tasks. But I cannot do that.
    Any help on this would be greatly appreciated as it is quite a recurring request from customers.
    I could have a misunderstanding in the process of doing it, or even in the code as I am a pure development newbie, so I m open to all propositions.
    Thank you all.
    Have a nice day.
    Jacques-Antoine

    Jacques-Antoine,
    You can't directly translate a repeating node or element (such as an Item or a Project Task from the Accounting Coding Block of an Item) to a singular node or element.
    The reason is that, though your use case may have the elements assumed to be the same for all items, this isn't necessarily the case, so ByDesign won't assume that you can use that kind of logic.
    The simplest approach would be to do an On-Save at the Root node of the Purchase Order along the following lines:
    this.projecttaskpo = this.Item.GetLast().ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment.ProjectTaskKey.TaskID;
    i wouldn't actually recommend this code.
    You'd need validations for IsInitial, IsSet, and those kinds of functions.
    i'd at least use some foreach loop to check that all the accounting coding blocks were for the same task, raise warnings if they weren't, etc.

  • How to email purchase order along with body and subject line

    hi experts,
           i have to email the purchase order along with the body and subject line. I am able to send the purchase order as a pdf attachment, but i have still not got a solution how to add body and subject line to this mail.
    plz help me out.

    Hi Santosh,
    if you investigate a little bit the PO output, you can find following information in SRM output customizing:
    POs are edited by methode PROCESS_BBP_PO_MAI from class CL_PD_PO_PROCESSING_BBP.
    Subject, body and attachments are handled here.
    So create your own class and method, and assign them in this customizing point (SRM Server --> Cross-Application Basic Settings --> Set Output Actions and Output Format --> Define Actions for Purchase Order Output).
    Rgds
    Christophe
    PS: please reward points for helpfull answers

  • User Exit / BAdI to update the pricing conditions of the Purchase Order

    Hello SAPients,
    This is my requirement:
    "Copy the Pricing Conditions from the Shipment Cost Document (VI01 / VI02) to the automatically generated Purchase Order".
    I'm using the enhancement V54U0002 (Function Module EXIT_SAPLV54U_002) to EXPORT  the values of the Pricing Conditions to memory and I have used the enhancement MM06E005 ( FM EXIT_SAPMM06E_006, 007, 012, 013, 014, 016, and 017) to IMPORT the values from memory and store them in TKOMV. But, when the PO is generated the values don't stay, they are always changed with the standard PBXX pricing conditions.
    My question is: Does anyone know the User Exit / BAdI that I can use to change the Pricing Conditions of the Purchase Order?
    <<removed_by_moderator>>
    Thanks!
    Edited by: Vijay Babu Dudla on Jan 14, 2009 11:08 PM

    >
    kartik tarla wrote:
    > check this badi
    > ME_PROCESS_PO_CUST
    >
    > and the following user exit
    > Goto-> include RV61AFZA then search for
    > USEREXIT_PRICING_RULE see if its helpful to u.
    Hello Kartik / SAPients,
    I tried with ME_PROCESS_PO_CUST but didn't work. The system doesn't execute that code. Any other idea would be greatly appreciated.
    Thanks.

  • Issue with the Posting Date of the Purchase Order.

    Hi All,
    There are fields in BW like SSL1: Time OK, SSL2: Qty OK, SSL3: Time & Qty Ok, SSL4: Days Late (Routines are written to calculate). These fields will indicate whether the delivery against a GR is OK or not with respect to Time, Quantity and the No. of Days..
    But here the issue I am facing is
    If there is only1 delivery/ GR against a single item the calculation in BW are correct - i.e. for a particular PO if there is only one delivery the above fields like SSL1: Time Ok, SSL2: Qty OK will show like the delivery is done within the specified time and everything is OK (in case if it is delivered within the allotted time)
    But if there are multiple deliveries or multiple GR's  posted for one PO item, the calculations are going wrong i.e. even if the delivery is done well within the specified time it is showing the wrong calculations like it is delievered too late. Because in this case the earlier dates are overwritten.
    Can anyone throw me some light on how can I go about solving this issue.
    I am thinking of declaring the Posting Date as the KeyField of the DSO as of now it is a Data field  I also want to know the impact of assigning this as a Keyfield.
    Thanks in advance,
    Prasapbi

    Hi,
    As I understand, you have a DSO based on Purchase Order and your key field is PO and its line item. The problem as you stated will always be there if you have multiple deliveries/GRs created for a single line item because the system will overwrite the entries for same key.
    Problem with adding Posting date as keyfield will be that then your key will be PO-PO Lineitem-Date. When PO will be created, the Posting date will be blank(correct me here if I am wrong), therefore you will have one entry for same PO-line item combination. One without date and other with date, which again would be incorrect. If my assumption about Posting date was wrong, even then your data may not be correct because then you may have many entries with same posting date which again would overwrite each other.
    If there is any direct link between PO line item and number of deliveries that will get created for them, then you can bring that field in DSO as keyfield. But I don't think there is any such field.
    Looking at your report requirement, I would suggest that you make a DSO based on Goods Receipts and then calculate these keyfigures by comparing the dates between GR posting date and PO line item date.
    Else you can change the way your datasource works(if its generic one based on function module). Since your main requirement is to check whether the GR posting date has met your SLA or not, you should fetch all the details only when GR is created and make your key field as PO-PO Line item-GR

  • User-Exit OR a BAdi for the Purchase order create.

    Hi,
    I am looking for a User-Exit or a BAdi which is fired when the Purchase order is being created in the SRM server via Web template. The requirement is as follows:
    There is a flag(Check box) at the the item level, Basic Data tab. This flag is called as Unlimited Overdelivery Allowed. It is with the tolerances field. Now I want this flag to be always set for a PO of a material of certain type.
    Can anyone tell me which User-Exit OR Badi I should use to always set this flag?
    The Technical field name is UNLIMITED.
    I tried a lot but could not get any.
    Regards,
    Deepak.

    Hi Deepak,
      Did you try doc_change badi? THis badi is available in all the bus objects.
    thanks,
    Ashwin

  • Can i Match invoices with a currency different from the purchase order curr

    Dear Valued Consultant,
    Can i Match invoices with a currency different from the purchase order curr
    Thanks

    Hi,
    As a functionality, Payables will not allow matching an invoice to a purchase order that is in a different currency.
    Refer Oracle Public sector payables user guide for 11i (page 4-94).
    I understand that there is an enhancement request (3286623) logged for this functionality.
    Please refer Note:172291.1
    - Thiagu

  • Now that the photo gallery in MobileMe is ending, is there another photo sharing site to which existing iPhoto albums can be transferred as is, with photos in the same order and with titles, and with minimal problems?

    Now that the photo gallery in MobileMe is ending, is there another photo sharing site to which existing iPhoto albums can be transferred as is, with photos in the same order and with titles, and with minimal problems?

    No. If you don't have the album you originally used to create the galleries you can do so by dragging the photos from each gallery to a new, empty album. Then when you find the photo sharing site/option you have decided on  you can easily upload each album to the site.
    Another option is to obtain a hosting service and create iWeb photo pages for each album and future albums similar to this photo page in one of my demo sites: iPhoto Book as an iWeb Slideshow.  Or you can use the iWeb album page and have an album for each  iPhoto album on it like on this demo page: Page-7 .
    OT

  • ASSET problem in the Purchase Order

    Hi Guys,
    I have a trouble with creating the purchase order.
    In my purchase order I have selected Account Assignment Category as 'Asset-A' and system prompting me to enter ASSET in the item details tab for  Account assignment.
    So how to create the Assest and these are my new Organization data(Created all new).
    Please give me clear idea and step by step procedure.
    Thanks
    ANGKS

    HI,
    Thanks for your replay. I was trying to create but asking to enter Cost center.
    So I need to know how to create Cost center, Cost Element and profit center and also any denpendencies to create these elements.
    Please give me the solution.
    Thanks
    ANGKS

Maybe you are looking for