Unit Price Format in XSL-FO Code for Standard Purchase Order Printing

Hi All,
As I am new to XSL-FO, so i am not aware of doing XML,XSL-FO changes. I have an issue with the xsl-fo for standard po layout. My report layout gives ##,## instead of ##.## as my Unit Price. i.e. in the report for POs, it is showing unit price in the format as #,## eg: 0,32 or u can say like 1,70 instead it should show #.## something like 0.32 and 1.70 as my unit price. The piece of code related to unit price formatting in report as follows:
<xsl:choose>
<xsl:when test="(UNIT_PRICE,1,1 > 1) and (substring-before(UNIT_PRICE,',') > 0)">
<fo:table-cell xsl:use-decimal-format="euro2"> <fo:table-cell xsl:use-attribute-sets="table.cell5"> <fo:block xsl:use-attribute-sets="form_data1">
<xsl:value-of select="format-number(substring-before(UNIT_PRICE,','),'#.###','euro2')"/>,<xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) > 4"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) =''"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) = 1"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) = 2"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) = 3"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,','),3,1)) = 4"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,','),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,','),2,1)) = ''"><xsl:value-of select="((substring(substring-after(UNIT_PRICE,','),1,1))-(substring(substring-after(UNIT_PRICE,','),1,1)))"/></xsl:if>
          </fo:block>
     </fo:table-cell>
</fo:table-cell>
</xsl:when>
<xsl:when test="(substring(UNIT_PRICE,1,1)=',')">
     <fo:table-cell xsl:use-attribute-sets="table.cell5"> <fo:block xsl:use-attribute-sets="form_data1">
     <xsl:value-of select="UNIT_PRICE"/>
     </fo:block>
     </fo:table-cell>
</xsl:when>
<xsl:when test="(UNIT_PRICE,1,1 > 1) and (substring-after(UNIT_PRICE,'.') > 0)">
<fo:table-cell xsl:use-decimal-format="euro2"> <fo:table-cell xsl:use-attribute-sets="table.cell5"> <fo:block xsl:use-attribute-sets="form_data1">
     <xsl:value-of select="format-number(substring-before(UNIT_PRICE,'.'),'#.###','euro2')"/>,<xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) > 4"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) =''"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) = 1"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) = 2"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) = 3"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),3,1)) = 4"><xsl:value-of select="(substring(substring-after(UNIT_PRICE,'.'),1,5))"/></xsl:if>
<xsl:if test="(substring(substring-after(UNIT_PRICE,'.'),2,1)) = ''"><xsl:value-of select="((substring(substring-after(UNIT_PRICE,'.'),1,1))-(substring(substring-after(UNIT_PRICE,'.'),1,1)))"/></xsl:if>
     </fo:block>
     </fo:table-cell>
</fo:table-cell>
</xsl:when>
<xsl:when test="(UNIT_PRICE,1,1 > 1 ) and (substring-after(UNIT_PRICE,',') ='') ">
<fo:table-cell xsl:use-decimal-format="euro"> <fo:table-cell xsl:use-attribute-sets="table.cell5"> <fo:block xsl:use-attribute-sets="form_data1">
<xsl:value-of select="format-number(UNIT_PRICE,'#,###.00','euro')"/>
          </fo:block>
     </fo:table-cell>
</fo:table-cell>
</xsl:when>
</xsl:choose>
PS: My decimal formats for euro and euro2 are:
<xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/>
<xsl:decimal-format name="euro2" grouping-separator="." NaN="0"/>
Any help or reply regarding this issue will be highly appreciated.
Regards,
Sumir

Hi Michele:
I can check out for you how to print page number in XSL-FO (There is an O'Reilly) book, but I think I help you better by recommending a different strategy - Don't write XSL-FO stylesheets. While Purchasing does not support RTF templates you can still write RTF templates and convert them to FO using the XML Publisher Template Builder for Word.
Download the matching Template Builder for Word (5.0) or XML Publisher Desktop 5.5 (includes the Template Builder) patch and then Create your template as an RTF template.
You can then EXPORT the template as XSL-FO stylesheet and upload as to Purchasing AS LONG AS THE VERSION OF THE DESKTOP and E-Businees Suite XML Publisher MATCH.
If you still want to write XSL stylesheet, you can just use the Template Builder to generate you the code and paste the code (e.g. for page numbers) into your stylesheet.
By the way - Purchasing will support RTF templates in future versions...
Hope that helps,
Klaus

Similar Messages

  • Unable to preview Contract Terms for Standard Purchase Order

    Unable to preview View Contract Terms for Standard Purchase Order,displays error
    We have defined the same contract terms and Document type layouts to documents Contract Purchase Order and Standard Purchase Order.
    Created a Contract PO,Attached a template able to preview the contract template in PDF successfully
    Created a Standard PO,Attached a template not able to preview the contract template in PDF
    Displays the foll error
    Problem: The system could not generate the PDF document.
    Reason: The system detected an error in the following code/object.
    Code: XML
    Object: PO
    Action: Please contact the system administrator and try again
    ### Steps to Reproduce Problem ###
    Steups
    Created a custom XSL-FO template for Contract template and defined it for Standard PO and Contracts PO.
    Steps to Reproduce
    1.Create a PO,give any category of 100 Qty
    2.Click Terms and CLick Author Contract Terms\
    3.Select the custom Template ,Click Apply Template
    4.Click Preview.
    Following error displayed
    Problem: The system could not generate the PDF document.
    Reason: The system detected an error in the following code/object.
    Code: XML
    Object: PO
    Action: Please contact the system administrator and try again
    Please Note:The above scenario works for Contracts PO.
    The problem is only for Standard PO
    We have reviewed note:454479.1
    The file version of POXVCOMB.pls 115.69.11510.28
    But we have another test instance this also has the same version , the scenario works fine
    So we are confused why this is reproducible only for a particular instance with same file versions
    If anyone can suggest a solution pls give me a reply
    Already SR is logged for the same -SR 3-1272761221, awaiting reply from support

    Please reply if any update on the above query is present.

  • Can we setup automatic sourcing for standard purchase order

    hi all,
    can we setup automatic sourcing for standard purchase order. i have done automation for bpa. can anyone help me in setting up automatic sourcing for spo.
    thanks.

    Hi,
    In order to create a Standard PO from requisition automatically, Requisition should be sourced to Contract Purchase agreement / Quotation / Global BPA.
    Please create ASL, Sourcing Rule and Assign the sourcing rule in Assignment Set.
    Also Set the Profile option "PO: Automatic Document Sourcing"
    Refer the note
    Automatically Create PO's from Drop Ship Requisition (Doc ID 835412.1)
    How to Create an Automatic Standard Purchase order for an Approved Purchase Requisition Sourced to a Contract Purchase Agreement (CPA) (Doc ID 334601.1)
    Thanks,
    Subhashini

  • How to modify date format for Standard Purchase Order  Template XSL-FO

    I am editing the XSL-FO for the Standard Purchase Order.
    I need to modify the promised date column to 'DD-MON-YYYY’' , tried to use substring in below line but it didn't work
    <xsl:value-of select="LINE_LOCATIONS/LINE_LOCATIONS_ROW/PROMISED_DATE"/>
    Any solution for this ?
    thanks
    Pravin

    Thanks for your response.
    I tried to change the code in below format but it was giving error.
    Original code
    <xsl:value-of select="LINE_LOCATIONS/LINE_LOCATIONS_ROW/PROMISED_DATE"/>
    modified to
    <xsl:value-of select="xdoxslt:format_date(LINE_LOCATIONS/LINE_LOCATIONS_ROW/PROMISED_DATE,'dd-mmm-yyyy','dd/mmm/yyyy hh24:mi:ss',$_XDOLOCALE,$_XDOTIMEZONE)"/>
    also tried with
    <xsl:value-of select="xdoxslt:format_date(LINE_LOCATIONS/LINE_LOCATIONS_ROW/PROMISED_DATE,'dd-mmm-yyyy','dd-mmm-yyyy hh24:mi:ss',$_XDOLOCALE,$_XDOTIMEZONE)"/>
    also tried like
    <xsl:value-of select="xdoxslt:format_date(LINE_LOCATIONS/LINE_LOCATIONS_ROW/PROMISED_DATE,'dd-mmm-yyyy','dd/mmm/yyyy',$_XDOLOCALE,$_XDOTIMEZONE)"/>
    Tried above 3 methods but it didn't work.
    right now the date format in pdf file is 24-MAY-2011 21:56:24 i need to remove 21:56:24 and have only 24-MAY-2011
    any suggestions.
    thanks

  • How to modify date format for Standard Purchase Order

    In the Standard Purchase Order I have been trying to modify the date format of the Need by and Promised Date. To display DD-MON-YYYY please could some advise.
    Thanks

    The varaibles and prarameters I am using are.
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:ora="http://www.oracle.com/XSL/Transform/java/" xmlns:xdofo="http://xmlns.oracle.com/oxp/fo/extensions" xmlns:xdoxslt="http://www.oracle.com/XSL/Transform/java/oracle.apps.xdo.template.rtf.XSLTFunctions" xmlns:xdoxliff="urn:oasis:names:tc:xliff:document:1.1">
    <xsl:param name="_XDOCALENDAR">GREGORIAN</xsl:param>
    <xsl:param name="_XDOLOCALE">en-US</xsl:param>
    <xsl:param name="_XDOTIMEZONE">GMT</xsl:param>
    <xsl:param name="_XDODFOVERRIDE">;</xsl:param>
    <xsl:param name="_XDOCTX">#</xsl:param>
    <xsl:variable name="_XDOXSLTCTX" select="xdoxslt:set_xslt_locale($_XDOCTX, $_XDOLOCALE, $_XDOTIMEZONE, $_XDOCALENDAR, $_XDODFOVERRIDE)" />

  • Possibilities for changing purchase order print behavior

    Hello guys,
    I'm kind of new in SAP MM and I had to deal with PDF formula for purchase order. Now I have some questions about what is possible to change behavior for printing data in purchase order print.
    First of all we're using our own PDF formula which is a little bit like standard formula MEDRUCK_PO. We're using programm SAPFM06P with routine ADOBE_ENTRY_NEU, no changes in SAP standard behavior were made.
    Everyhting works fine with that but we sometimes have some special cases where our user wants some other behavior. Can you please say if it is possible and if so where to do that? (Customizing, formula itself)
    1. Changes in purchase order positions -> We have for example 4 purchase order positions. Now for one of them the price has changed. When printing formula then, you only see the changed order position. When you want to see all, user has to change some detail in every of the other positions, thats pretty annoying.
    2. Header text 'Changes in purchase order' -> Sometimes the header text is displayed as 'Changes in purchase order', sometimes as "normal" 'Purchase order'. I know it has something to do with status (field DRUVO) of purchase order, but its not clear when which status is set. Any help? :-)
    3. Deleted positions -> How is the standard behavior when a position is deleted? I think it will not be listed anymore in the positions printout. Anyway I can control it by catching LOEKZ field. But how is it with the total value field in sum data. I think it still is the whole value including the deleted positions. Is this changeable?
    I know there is some customizing in SPRO -> Materials Management -> Purchasing -> Messages
    but I'm not quite sure how it works :-(
    Can anyone enlight me? :-)
    Thanks a lot.
    Regards
    Michael

    SAP can differentiate between a new created purchase order and an existing purchase order that only got changed.
    Based on that it can be customized whether you print the full purchase order or only the part that was changed, and accordingly you may get different texts on your form (... 'Changes in purchase order', sometimes as "normal" 'Purchase order'.)
    A deletion of a PO item  is as well a change.  If you decided to print only a change message, then you get a print having the item number and a text *** item deleted *** or similar based on your customizing.
    But if you decided to print the full PO in both cases (creation and change), then you get the full PO but the deleted item is no longer among them and no hint either that it was deleted..
    Basically this setting is made in SPRO -> Materials Management -> Purchasing -> Messages -> Output Control -> Message Types -> Define Message Types for Purchase Order
    see as well the wiki: Printing of purchasing documents - ERP SCM - SCN Wiki

  • Bom explosion in the item detail screen for standard purchase order

    Hi Gurs,
    we have a requirement to expolde bom in standard purchase order in the main item screen like in any
    sales order where
    main item will be item 10
    sub item will be item 20
    sub item will be item 30
    we had already exploded bom through subcontracting but sub items are getting in a different screen.
    Is there any way where we can get the subitems in the main screen rather than subscreen.
    It will be gr8 if you can provide us any userexit/badi.
    pls give your suggestions.
    Thanks & Regards,
    Radhakrishna.

    Hi,
    This is not possible in standard SAP. However, you can create a custom program to make this happen. The custom program should explode BOM for the material you enter and then call the bapi BAPI_PO_CREATE to create PO with all the components one after the other in the same PO.
    Thanks,
    Rana

  • Import Standard Purchase Orders -For Standard Purchase Orders

    Hi,
    I'm trying to load STANDARD purchase orders using Import Standard Purchase Orders(POXPOPDOI). I'm getting following error in log file
    To get the log messages for PDOI, please use the following id to query against FND_LOG_MESSAGES table:
    AUDSID = 3084626
    User-Defined Exception in Package po.plsql.PO_PDOI_LINE_LOC_PROCESS_PVT. Procedure validate_line_locs.20
    User-Defined Exception in Package po.plsql.PO_PDOI_MAINPROC_PVT. Procedure process_line_locations.60
    User-Defined Exception in Package po.plsql.PO_PDOI_MAINPROC_PVT. Procedure process.30
    User-Defined Exception in Package po.plsql.PO_PDOI_PVT. Procedure start_process.110
    User-Defined Exception in Package po.plsql.PO_PDOI_Concurrent. Procedure POXPDOI.30
    Output File:
    DECLARE
    ERROR at line 1:
    ORA-06510: PL/SQL: unhandled user-defined exception
    ORA-06512: at line 133
    Your help greatly appreciated.

    Hi,
    What is the application release? OS?
    Please see if (Note: 735909.1 - PDOI Errors With Exec Fnd_conc_stat.Collect Ora-06510) is applicable.
    Regards,
    Hussein

  • Tax Code for Import Purchase Order

    Hi Experts,
    I have searched for this content but didn't match my requirements.
    My client has asked to create new tax code which they will be using in their Import Purchase order.
    Attached along the client's requirement.I haven't created tax code of this nature.
    Please advise which condition types should be used to create this tax code.
    Kind regards,
    Pradeesh.P

    Your client requirement is correct in the sense , they need to new  excise rates for one combination.
    import procurement works differently.
    We use dummy tax code here and actual excises will be shown with pricining schema .
    For all import procurement , one need to use a separate pricing Schema and all tax values are entired manually while creating PO or cdn records are maintained.
    The excises are captured as CVD - Countervailing duties and separate registers are maintained in configuration.
    please note - Most of the cases there will be 3 pricing schema - domestic, import ,STO
    the import process is also slightly different.
    Me21n,MIRO(called commercial invoice @ for customs clearing),J1iex(cenvat capture with addtl-ref-commercial invoice),MIGO,CEnvat post ( cenvat post with addtl-ref-commercial invoice)
    a particulat item will contain these cdn details
    Basic Price
    Landing changes
    Insurance
    Accessible value
    Basic Customs Duty
    CVD
    ECESS
    SHE CESS
    Coustom Ecess
    Coustom SHECess
    Additional Duty
    regards
    manu

  • XSL-FO for Standard Purchase Order, doesn't print page number

    Hi,
    I worked on XSL-FO code to custom the PDF output for Standard PO. Everything works great: I added company logo (in a different position of the standard commented code <!-- Too easy just to uncomment... :-)--> ), i created new attribute sets to highlight some elements on the print, I added a footer with company details and document type and number (instead of placing this in the header, the costumer didn't like it where it was..)
    OK. BUT: the page number at the bottom on the right isn't printed anymore. For example: if the PO page is n.1 of 2 pages, it comes only '12' and not Page 1 of 2. So i tought not to use the original template (tihs one)
    <!-- Template for displaying the page numbers -->
    <!-- bug#3836856: Template for displaying the page numbers at right bottom of the page -->
    <xsl:template name="pageNumber">
         <xsl:variable name="po_page">
         <xsl:value-of select="$BOILER_PLATE_MESSAGES_OBJ[MESSAGE='PO_FO_PAGE'][1]/TEXT"/>
         </xsl:variable>
         <!-- Get the String before the PAGE_NUM token -->
         <xsl:variable name="string_before_page_num">
         <!-- <xsl:value-of select="substring-before($po_page,'&amp;PAGE_NUM')"/>-->
         <xsl:value-of select="substring-before($po_page,'Pag.;PAGE_NUM')"/>
         </xsl:variable>
         <!-- Get the String after the PAGE_NUM token -->
         <xsl:variable name="string_after_page_num">
         <!-- <xsl:value-of select="substring-after($po_page,'&amp;PAGE_NUM')"/>-->
         <xsl:value-of select="substring-after($po_page,'/ ;PAGE_NUM')"/>
         </xsl:variable> ......
    but inseriting a select just where I want the page num to be displayed (see code)
    <fo:block xsl:use-attribute-sets="test_style" >
    <xsl:value-of select="$BOILER_PLATE_MESSAGES_OBJ[MESSAGE='PO_FO_PAGE'][1]/TEXT"/>
                                                      </fo:block>
    but this gave me as result 'Page &PAGE_NUM of &END_PAGE'.
    Where did I do wrong?? It's like the PO_FO_PAGE message is not dinamically insered in the PDF. Hope I've been clear enough and somene can help me. Thaks in advance, Michele

    Hi Michele:
    I can check out for you how to print page number in XSL-FO (There is an O'Reilly) book, but I think I help you better by recommending a different strategy - Don't write XSL-FO stylesheets. While Purchasing does not support RTF templates you can still write RTF templates and convert them to FO using the XML Publisher Template Builder for Word.
    Download the matching Template Builder for Word (5.0) or XML Publisher Desktop 5.5 (includes the Template Builder) patch and then Create your template as an RTF template.
    You can then EXPORT the template as XSL-FO stylesheet and upload as to Purchasing AS LONG AS THE VERSION OF THE DESKTOP and E-Businees Suite XML Publisher MATCH.
    If you still want to write XSL stylesheet, you can just use the Template Builder to generate you the code and paste the code (e.g. for page numbers) into your stylesheet.
    By the way - Purchasing will support RTF templates in future versions...
    Hope that helps,
    Klaus

  • Additional code for PO(purchase order) BDC

    Hi All,
    I wrote a BDC for uploading Open PO(purchase order). I did it using recording. But when coming to upload it can take only one line item for material. In a PO we can include any number of materials. So inorder to get such upload functionality where do we need to add the code and how to? The coding is stated as follows....The bold text is the line item data to upload in which multiple materials need to be uploaded.
    TYPE-POOLS: TRUXS.
    DATA: IT_RAW TYPE truxs_t_text_data.
    TYPES: begin of SPORD,
    BSART(004),
    SUPERFIELD(030),
    BEDAT(010),
    EKORG(004),
    EKGRP(003),
    BUKRS(004),
    EBELP_01(005),
    KNTTP_01(001),
    EMATN_01(018),
    MENGE_01(017),
    MEINS_01(003),
    EEIND_01(010),
    NETPR_01(014),
    WAERS(004),
    PEINH_01(006),
    NAME1_01(030),
    SAKTO(010),
    KOSTL(010),
    REPOS(001),
    MWSKZ(002),
    WEBRE(001),
          end of SPORD.
    DATA: T_PORD TYPE TABLE OF SPORD,
          PORD TYPE SPORD.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETERS: FILENAME TYPE RLGRAP-FILENAME.
    SELECTION-SCREEN END OF BLOCK B1.
    include ZBdcrecx1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILENAME.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          FIELD_NAME = 'FILENAME'
        IMPORTING
          FILE_NAME  = FILENAME.
    start-of-selection.
    PERFORM GET_DATA.
    perform open_group.
    LOOP AT T_PORD INTO PORD.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MEDOCTYPE'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MEPO_TOPLINE-BSART'.
    perform bdc_field       using 'MEPO_TOPLINE-BSART'
                                  PORD-BSART.
    perform bdc_field       using 'MEPO_TOPLINE-BEDAT'
                                  PORD-BEDAT.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '   1'.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MEV4001BUTTON'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MEPO_TOPLINE-SUPERFIELD'.
    perform bdc_field       using 'MEPO_TOPLINE-BSART'
                                  PORD-BSART.
    perform bdc_field       using 'MEPO_TOPLINE-SUPERFIELD'
                                  PORD-SUPERFIELD.
    perform bdc_field       using 'MEPO_TOPLINE-BEDAT'
                                  PORD-BEDAT.
    perform bdc_field       using 'MEPO1222-EKORG'
                                  PORD-EKORG.
    perform bdc_field       using 'MEPO1222-EKGRP'
                                  PORD-EKGRP.
    perform bdc_field       using 'MEPO1222-BUKRS'
                                  PORD-BUKRS.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '   1'.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'MEPO_TOPLINE-BSART'
                                  PORD-BSART.
    perform bdc_field       using 'MEPO_TOPLINE-SUPERFIELD'
                                  PORD-SUPERFIELD.
    perform bdc_field       using 'MEPO_TOPLINE-BEDAT'
                                  PORD-BEDAT.
    perform bdc_field       using 'MEPO1222-EKORG'
                                  PORD-EKORG.
    perform bdc_field       using 'MEPO1222-EKGRP'
                                  PORD-EKGRP.
    perform bdc_field       using 'MEPO1222-BUKRS'
                                  PORD-BUKRS.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MEPO1211-NAME1(01)'.
    perform bdc_field       using 'MEPO1211-EBELP(01)'
                                  PORD-EBELP_01.
    perform bdc_field       using 'MEPO1211-KNTTP(01)'
                                  PORD-KNTTP_01.
    perform bdc_field       using 'MEPO1211-EMATN(01)'
                                  PORD-EMATN_01.
    perform bdc_field       using 'MEPO1211-MENGE(01)'
                                  PORD-MENGE_01.
    perform bdc_field       using 'MEPO1211-MEINS(01)'
                                  PORD-MEINS_01.
    perform bdc_field       using 'MEPO1211-EEIND(01)'
                                  PORD-EEIND_01.
    perform bdc_field       using 'MEPO1211-NETPR(01)'
                                  PORD-NETPR_01.
    *perform bdc_field       using 'MEPO1211-WAERS(01)'
                                 PORD-WAERS.*
    perform bdc_field       using 'MEPO1211-PEINH(01)'
                                  PORD-PEINH_01.
    perform bdc_field       using 'MEPO1211-NAME1(01)'
                                  PORD-NAME1_01.perform bdc_field       using 'DYN_6000-LIST'
                                  '   1'.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'MEPO_TOPLINE-BSART'
                                  PORD-BSART.
    perform bdc_field       using 'MEPO_TOPLINE-SUPERFIELD'
                                  PORD-SUPERFIELD.
    perform bdc_field       using 'MEPO_TOPLINE-BEDAT'
                                  PORD-BEDAT.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MEPO1211-EEIND(01)'.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '   1'.
    perform bdc_field       using 'MEPO1317-REPOS'
                                  PORD-REPOS.
    perform bdc_field       using 'MEPO1317-MWSKZ'
                                  PORD-MWSKZ.
    perform bdc_field       using 'MEPO1317-WEBRE'
                                  PORD-WEBRE.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=TABIDT7'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MESAVE'.
    perform bdc_field       using 'MEPO_TOPLINE-BSART'
                                  PORD-BSART.
    perform bdc_field       using 'MEPO_TOPLINE-SUPERFIELD'
                                  PORD-SUPERFIELD.
    perform bdc_field       using 'MEPO_TOPLINE-BEDAT'
                                  PORD-BEDAT.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '   1'.
    perform bdc_field       using 'MEACCT1200-KNTTP'
                                  PORD-KNTTP_01.
    perform bdc_field       using 'MEACCT1100-SAKTO'
                                  PORD-SAKTO.
    perform bdc_field       using 'BDC_CURSOR'
                                  'COBL-KOSTL'.
    perform bdc_field       using 'COBL-KOSTL'
                                  PORD-KOSTL.
    perform bdc_dynpro      using 'SAPLSPO2' '0101'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=OPT1'.
    perform bdc_transaction using 'ME21N'.
    ENDLOOP.
    perform close_group.
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DATA .
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
      EXPORTING
       I_LINE_HEADER              = 'X'
        I_TAB_RAW_DATA             = IT_RAW
        I_FILENAME                 = FILENAME
      TABLES
        I_TAB_CONVERTED_DATA       = T_PORD.
    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.                    " GET_DATA
    regards
    PSNG
    Edited by: PSNG on Jun 11, 2008 3:28 PM

    ME_PROCESS_PO_CUST
    use above BADI for ME22N/ME21N,often we use method PROCESS_HEADER
    PROCESS_ITEM our most of the requirement meet by these methods only,check once if your requirement does meets with these two methods?
    if not than you may implement some more method which are in ME_PROCESS_PO_CUST, for more help you may read documentation,there is well enough documentation already there for each method.
    and for ME22/ME21 you may use
    ME_PURCHDOC_POSTED
    and method POSTED.

  • No approver was found for Standard Purchase Order #

    I created an Employee for that employee i assigned a Buyer
    and Document type i gave a Direct approver ,But it is still showing No approver for this PO.
    could some one please give me the details how to approve a purchase order using Direct Method.
    And also please tell how to define approval hierarchy for PO approval and how to assign that hierarchy to Buyer.
    Regards
    Narasaiah
    Message was edited by: Narasaiah
    user554411

    hello,
    I found the documents still at the buyer's.it has to do with the revision number; it was not sent correctly. the buyer reopened the documents and resent them.
    Now the problem is solved...

  • How to find Script Style for Standard Purchase Order Form "MEDRUCK".

    Hi ,
    I need to convert script style using by Sap-script form 'Medruck' to Smart form style and for this i have to find Sap-script style name for Medruck.
    If anyone have a idea about it then plz tell me.
    It's very urgent for me.
    Thanks & Regards,
    Gaurav.

    Hi Gaurav,
    If I'm not wrong, we don't have any SAP-Script Style, but when we are trying to upgrade to SmartForms simply u upgrade using smartforms transaction code, and it will convert all your character formats and paragraph formats and try to assign as SYSTEM Style in Smartforms.
    If you find the difference then you need to create SmartStyle manually and assign it.
    Thanks,
    -Pavan

  • Data Source For Standard Purchase Order

    I need to customize the
    PO_STANDARD_PO.xsd
    PO_STANDARD_PO.xml
    and the xsl file i can download them but the update updatefile buttons are not active
    can any one help me customize this file
    and open this un active buttoms in the XML publisher
    Thanks

    Hi;
    I suggest close your issue here as answered than move your issue Oracle Discussion Forums » Business Intelligence Foundation » BI Publisher hich you can get more quick response
    Review:
    How to modify PO_STANDARD_PO data definition?
    Regard
    Helios

  • Data Source for Standard Purchase Orders

    I need to customize the
    PO_STANDARD_PO.xsd
    PO_STANDARD_PO.xml
    and the xsl file i can download them but the update updatefile buttons are not active
    can any one help me customize this file
    and open this un active buttoms in the XML publisher
    Thanks

    Hi;
    I suggest close your issue here as answered than move your issue Oracle Discussion Forums » Business Intelligence Foundation » BI Publisher hich you can get more quick response
    Review:
    How to modify PO_STANDARD_PO data definition?
    Regard
    Helios

Maybe you are looking for