Need to "dequeue" a purchase order

Hi All,
I am using two BAPIs in the same transaction : "BAPI_PO_CHANGE" & "BAPI_GOODSMVT_CREATE".
The problem is that when BAPI_PO_CHANGE is done processing, it does not release the PO, so the Goods Receipt cannot be posted by the second BAPI.
Basically, I need to somehow dequeue (unlock ??) the PO so that BAPI_GOODSMVT_CREATE can finish the job.
Thanks!!
Roman D.

Still, either way, you are forcing a deque before the system releases those locks, which might mean inconsistencies. You should never try to release locks, unless it is absolutely necessary. Why is the alternative of waiting until the locks are released is not a good solution for you?
Another way around this is something like this.
do.
   call bapi goods movement.
   if not lock error.
      exit.
   endif.
enddo.
This way you will issue a artificial wait, but you will wait until all the locks are released. You will be in that do loop until the bapi goods movement call returns a success or non-lock error.
Or you can find out what lock object the system uses while changing the po. You can try to obtain a lock by calling the same lock object. If it fails, it means system still has the locks, else, you will dequeue the lock and proceed with your goods movement call.
Srinivas

Similar Messages

  • How to update need by date in Purchase order using an API?

    Hi All,
    Is there any API available in 11i which can be used to update the need by date in purchase order?
    There is a API PO_CHANGE_API1_S.UPDATE_PO, but it updates only the promise date and not the need by date.
    Please help !!
    Thanks & Regards
    Anuj

    Your error comes from Sybase, so I suggest you post your question to a Sybase forum.  And be aware that Sybase does not use the same tsql dialect as sql server, so you must use their dialect (if, indeed, there is any difference in this particular situation). 
    One note - there should be no space between "N" and the Unicode string literal to which it applies in tsql.  E.g.,
    = N'Executive Chair эюя'
    not
    = N 'Executive Chair эюя'

  • Need to modify Standard Purchase Order Stylesheet (PO_STANDARD_XSLFO.xsl)

    Hi
    We need to modify Standard Purchase Order Stylesheet (po_standard_xslfo.xsl) . Current stylesheet generating PO like the following.
    <FOR-EACH>
    ITEM_NUM
    ITEM_DESCRIPTION
    <FOR-EACH>
    SHIP_TO_ADDRESS_LINE1 NEED_BY_DATE QUANTITY
    </FOR-EACH>
    </FOR-EACH>
    Based on this, we are getting the output like this:
    Item Num 1
    Itme Description 1
    Ship To: Needed: Quntity
    1234. A1 Avenue JUL 200
    SomeCity, CA 90706
    1234. A1 Avenue AUG 200
    SomeCity, CA 90706
    4567 B1 Avenue JUL 100
    City2 , CA
    Itme Description 2
    Ship To: Needed: Quntity
    5689. c1 Avenue JUL 200
    SomeCity, CA 90706
    Our requirement is like this:
    Item Num 1
    Itme Description 1
    Ship To: 1234. A1 Avenue, SomeCity, CA 90706
    Month: JUL AUG SEP
    Quantity: 200 200 100
    Ship To: VVV4567 B1 Avenue , SomeCity, CA 90706
    Month: JUL AUG SEP
    Quantity: 100 200 100
    So we need to add ship_to group (ITEM/SHIP_TO) .
    How can we use group by item, ship_to..
    <fo:block> <xsl:value-of select="ITEM_NUM"/> </fo:block>
    <fo:block> <xsl:value-of select="ITEM_DESCRIPTION"/> </fo:block>
    <xsl:for-each select="/PO_DATA/LINES/LINES_ROW/LINE_LOCATIONS/LINE_LOCATIONS_ROW">
    <fo:block> <xsl:value-of select="SHIP_TO_ADDRESS_LINE1"/> </fo:block>
    <fo:block> <xsl:value-of select="substring(NEED_BY_DATE,4,3)"/> </fo:block>
    <fo:block> <xsl:value-of select="QUANTITY"/> </fo:block>
    </xsl:for-each>
    </xsl:for-each>
    In the above code I need split the data by ITEM_NUM/ SHIP_TO_ADDRESS_LINE1.
    I am new to xsl-fo. I tried different ways,but ship_to_address_line1 is generating wiith each quanty and need_by_date.
    Please guide me.
    Thank you
    Raju
    Edited by: subbaraju on May 7, 2009 2:36 PM

    Hi Chandra
    Thank you very much for your suggestion.
    I tried that way, I created some sample xml file, I created sample rtf file and I generated xsl-fo file. I copied the part of code into my PO_STANDARD_PO.XSL. I am getting some error.
    I noticed PO_STANDARD_PO.XSL is xsl version 1.0 and the generated sample data is with xsl version 2.0.
    The generated code is using “for-each_group”, “sum()”, “current-group()” etc. Is these functions will work in xslt 1? Or do we need to code different way?
    We are in Oracle APPS 12.0.4.
    Thank you
    Raju
    Edited by: subbaraju on May 26, 2009 11:56 AM

  • I NEED TO FIND THE PURCHASE ORDER NO.

    HAI ALL,
         I NEED TO FIND THE PURCHASE ORDER NO.
    I have MATNR (material no.), LIFNR (vendor no.), RDOC OR MBLNR (material doc.no). values of these in my internal table. Using this i need to find purchase order no. I HAVE TRIED WITH MSEG TABLE ,but purchase order no. is not stored there.
    PL. tell me TABLE NAME OR HOW TO JOIN THA TABLES OR ANY VIEWS to find purchase order no.
    If u need any clarification regarding my req. pl send mail to below address.
    [email protected]
    THANKS IN ADVANCE,
    SENTHIL KUMAR

    HAI,
        THANKS FOR UR REPLY.
    I am using 541 movement type, (which is used for subcontracting)
    my req. is for 541 movement type in which table purchse order no. and mblnr(material doc. no.) are stored.
    Thanks in advance
    senthil kumar

  • Need help! in purchase order report..

    Hai,
    I need to write a report
    "<b>Interactive report</b> to display all the Purchase Orders for the Purchasing Organization and display the total, and individual values of all the Purchase Orders."
    what are the tables to use for the above report ?
    which field is used for Line-selection( for interactive report)
    thanks in advance

    Hi,
    Use the tables EKKO, EKPO and fetch the data and display.
    On the basic list display the only EKKO data of the Purchase orgn
    and in the second list Interactive  use the EKPO details and do the totals.
    Sort based on EKORG field and do the sums for Amount fields.
    see the sample code and do accordingly:
    REPORT  ZMM_PO_REPORT message-Id yb
           NO STANDARD PAGE HEADING
           LINE-COUNT 60(1)
           LINE-SIZE 230.
           D A T A B A S E  T A B L E S   D E C L A R A T I O N
    TABLES: lfa1,           " Vendor Master
            t161,           " PO Doc Types
            t024,           " Purchase Groups
            ekko.           " PO Header
                   T Y P E S  D E C L A R A T I O N S
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_po,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bukrs TYPE bukrs,           " Company Code
            bsart TYPE bbsrt,           " PO Type
            lifnr TYPE lifnr,           " Vendor No
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
           END OF s_po.
    Purchase Orders History Structure
    TYPES: BEGIN OF s_account,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            gjahr TYPE mjahr,           " Fiscal Year
            belnr TYPE mblnr,           " PO Invoice No
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Local Currency
            dmbtr TYPE dmbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
            shkzg TYPE shkzg,           " Dr/Cr Indicator
           END OF s_account.
    Purchase Orders History Structure(Item Sum)
    TYPES: BEGIN OF s_inv_sum,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
           END OF s_inv_sum.
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_rep,
            lifnr TYPE lifnr,           " Vendor No
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bsart TYPE bbsrt,           " PO Type
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
            name1 TYPE name1,           " Plant
            orewr TYPE netpr,           " To be Invoiced Price
            curr  TYPE waers,           " Inv Doc Currency
           END OF s_rep.
               D A T A  D E C L A R A T I O N S
    DATA: gv_title1 TYPE sylisel,            " Report title
          gv_dial.                           " Color flag
                C O N S T A N T S  D E C L A R A T I O N S
    CONSTANTS: c_x                VALUE 'X',   " Flag X
               c_h                VALUE 'H',   " Debit
               c_vgabe TYPE vgabe VALUE '2'.   " Transaction Type
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S
    DATA: i_po    TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
                                 " Purchase Order
          i_inv   TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
                                         " PO Invoice Values
          i_rep   TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
                                     " PO Invoice Values
          i_ekbe  TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
                               " PO Invoice Values
                     S E L E C T I O N  S C R E E N                      *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
                    s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
                    s_bsart FOR t161-bsart,
                    s_ekgrp FOR t024-ekgrp,
                    s_bedat FOR ekko-bedat.
    SELECTION-SCREEN END OF BLOCK b1.
                      I N I T I A L I Z A T I O N                        *
    INITIALIZATION.
                  A T  S E L E C T I O N - S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_screen.
                   S T A R T - O F - S E L E C T I O N                   *
    START-OF-SELECTION.
    Fetch main data
      PERFORM fetch_data.
                   T O P - O F - P A G E                                 *
    TOP-OF-PAGE.
    Header of the List
      PERFORM header.
                   E N D - O F - P A G E                                 *
    Footer
    END-OF-PAGE.
      ULINE.
                   E N D - O F - S E L E C T I O N                       *
    END-OF-SELECTION.
    Display the Report Output data
      PERFORM display_data.
    At Line-Selection
    AT LINE-SELECTION.
    When double clicked on EBELN display the details of Purchase Doc
      PERFORM line_sel.
    *&      Form  validate_screen
    Validation of Selection Screen fields
    FORM validate_screen .
    Validation of Vendor Number
      CLEAR lfa1-lifnr.
      IF NOT s_lifnr[] IS INITIAL.
        SELECT lifnr UP TO 1 ROWS
            INTO lfa1-lifnr
            FROM lfa1
            WHERE lifnr IN s_lifnr.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Vendor'(002).
        ENDIF.
      ENDIF.
    Validation of PO Number
      CLEAR ekko-ebeln.
      IF NOT s_ebeln[] IS INITIAL.
        SELECT ebeln UP TO 1 ROWS
            INTO ekko-ebeln
            FROM ekko
            WHERE ebeln IN s_ebeln.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Document Number'(003).
        ENDIF.
      ENDIF.
    Validation of PO Document Type
      CLEAR t161-bsart.
      IF NOT s_bsart[] IS INITIAL.
        SELECT bsart UP TO 1 ROWS
            INTO t161-bsart
            FROM t161
            WHERE bsart IN s_bsart.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
        ENDIF.
      ENDIF.
    Validation of Purchasing Group
      CLEAR t024-ekgrp.
      IF NOT s_ekgrp[] IS INITIAL.
        SELECT ekgrp UP TO 1 ROWS
            INTO t024-ekgrp
            FROM t024
            WHERE ekgrp IN s_ekgrp.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
        ENDIF.
      ENDIF.
    ENDFORM.                    " validate_screen
    *&      Form  fetch_data
    Fetching the PO related data from Database Tables
    FORM fetch_data .
      CLEAR i_po.
      REFRESH i_po.
      SELECT a~ebeln            " PO No.
             b~ebelp            " PO Item
             a~bstyp            " PO Category
             a~bukrs            " Company Code
             a~bsart            " PO Type
             a~lifnr            " Vendor No
             a~ekgrp            " Purchase Group
             a~waers            " Currency
             a~bedat            " PO Date
             b~txz01            " Material Text
             b~werks            " Plant
             b~lgort            " Storage Location
             b~matkl            " Material Group
             b~menge            " PR Quantity
             b~meins            " UOM
             b~bprme            " Price Unit
             b~netpr            " Net price
             b~peinh            " Price Unit UOM
             b~pstyp            " Item Category
             b~knttp            " Account Assignment Category
        INTO TABLE i_po
        FROM ekko AS a JOIN ekpo AS b
        ON a~ebeln = b~ebeln
        WHERE a~ebeln IN s_ebeln AND
              a~lifnr IN s_lifnr AND
              a~ekgrp IN s_ekgrp AND
              a~bsart IN s_bsart AND
              a~bedat IN s_bedat.
      SORT i_po BY ebeln ebelp.
      break-point.
      IF NOT i_po[] IS INITIAL.
    Fetch the PO History/Invoice Details from EKBE Table
        CLEAR i_ekbe.
        REFRESH i_ekbe.
        SELECT ebeln           " PO No.
               ebelp           " PO Item
               gjahr           " Fiscal Year
               belnr           " PO Invoice No
               menge           " PR Quantity
               wrbtr           " Price in Local Currency
               dmbtr           " Price in Foreign Currency
               waers           " Currency
               shkzg           " Dr/Cr Indicator
         INTO TABLE i_ekbe
         FROM ekbe
         FOR ALL ENTRIES IN i_po
         WHERE ebeln = i_po-ebeln AND
               ebelp = i_po-ebelp AND
               vgabe = c_vgabe.
      break-point.
        IF sy-subrc = 0.
          SORT i_ekbe BY ebeln ebelp.
          LOOP AT i_ekbe.
            IF i_ekbe-shkzg = c_h.
              i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
            ENDIF.
            MODIFY i_ekbe.
          ENDLOOP.
      break-point.
    Sum up the Item wise Invoice totals
          LOOP AT i_ekbe.
            AT END OF ebelp.
              READ TABLE i_ekbe INDEX sy-tabix.
              SUM.
              MOVE-CORRESPONDING i_ekbe TO i_inv.
              APPEND i_inv.
            ENDAT.
            CLEAR i_inv.
          ENDLOOP.
          SORT i_inv BY ebeln ebelp.
            break-point.
        ENDIF.
      ENDIF.
    Move the Vendor Name and Invoice Values to I_rep Internal Table
      LOOP AT i_po.
        MOVE-CORRESPONDING i_po TO i_rep.
        CLEAR i_inv.
        READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
                                  ebelp = i_po-ebelp.
        IF sy-subrc = 0.
          i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
          i_rep-curr  = i_inv-waers.
        ELSE.
          i_rep-orewr = i_po-menge * i_po-netpr.
          i_rep-curr  = i_po-waers.
        ENDIF.
      break-point.
    Get the Vendor Name
        CLEAR lfa1-name1.
        SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
          WHERE lifnr = i_po-lifnr.
        IF sy-subrc = 0.
          i_rep-name1  = lfa1-name1.
        ENDIF.
        APPEND i_rep.
        CLEAR  i_rep.
          break-point.
      ENDLOOP.
      SORT i_rep BY lifnr ebeln ebelp.
      DELETE i_rep WHERE orewr LE 0.
      break-point.
    ENDFORM.                    " fetch_data
    *&      Form  display_data
    Display the Report Output data
    FORM display_data .
      DATA: lv_flag,               " New Flag
            lv_rec TYPE i.         " No of Records
      CLEAR lv_rec.
      IF i_rep[] IS INITIAL.
        MESSAGE e000 WITH 'No Data found'(022).
      ELSE.
        LOOP AT i_rep.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
    At New Purchase Document
          AT NEW ebeln.
            WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
            lv_flag = c_x.
            lv_rec = lv_rec + 1.
          ENDAT.
          WRITE: 1 sy-vline,
                12 sy-vline,13(4)   i_rep-bsart,
                17 sy-vline,18(10)  i_rep-lifnr,
                28 sy-vline,29(35)  i_rep-name1,
                64 sy-vline,65(4)   i_rep-ekgrp,
                69 sy-vline,70(10)  i_rep-bedat,
                80 sy-vline,81(5)   i_rep-ebelp,
                86 sy-vline,87(40)  i_rep-txz01,
               127 sy-vline,128(9)  i_rep-matkl,
               137 sy-vline,138(1)  i_rep-pstyp,
               139 sy-vline,140(1)  i_rep-knttp,
               141 sy-vline,142(4)  i_rep-werks,
               146 sy-vline,147(4)  i_rep-lgort,
               151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
               165 sy-vline,166(3)  i_rep-meins,
               169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
               185 sy-vline,186(4)  i_rep-waers,
               190 sy-vline,191(5)  i_rep-peinh,
               196 sy-vline,197(4)  i_rep-bprme,
               201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
               217 sy-vline,218(4)  i_rep-curr,
               222 sy-vline,223(7)  i_rep-bstyp centered,
               230 sy-vline.
          NEW-LINE.
          hide: i_rep-ebeln.
        ENDLOOP.
        ULINE.
        FORMAT COLOR OFF.
        WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
                    lv_rec COLOR 3.
      ENDIF.
    ENDFORM.                    " display_data
    *&      Form  header
    Write the Report Header
    FORM header .
      FORMAT RESET.
    header
      WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
      SKIP.
      FORMAT COLOR COL_HEADING.
      ULINE.
      WRITE:/1 sy-vline,2(10)   'Pur.Doc.No'(006) CENTERED,
            12 sy-vline,13(4)   'Type'(007),
            17 sy-vline,18(10)  'Vendor'(008) CENTERED,
            28 sy-vline,29(35)  'Name'(009) CENTERED,
            64 sy-vline,65(4)   'PGrp'(010) CENTERED,
            69 sy-vline,70(10)  'Doc.Date'(012) CENTERED,
            80 sy-vline,81(5)   'Item'(011),
            86 sy-vline,87(40)  'Material Short Text'(024) CENTERED,
           127 sy-vline,128(9)  'Mat.Group'(013),
           137 sy-vline,138(1)  'I',
           139 sy-vline,140(1)  'A',
           141 sy-vline,142(4)  'Plnt'(014),
           146 sy-vline,147(4)  'SLoc'(015),
           151 sy-vline,152(13) 'Quantity'(016) CENTERED,
           165 sy-vline,166(3)  'UoM'(017),
           169 sy-vline,170(15) 'Net Value'(018) CENTERED,
           185 sy-vline,186(4)  'Curr'(019),
           190 sy-vline,191(5)  'Per'(020),
           196 sy-vline,197(4)  'Unit'(021),
           201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
           217 sy-vline,218(4)  'Curr'(019),
           222 sy-vline,223(7)  'Doc.Cat'(026),
           230 sy-vline.
      ULINE.
    ENDFORM.                    " header
    *&      Form  toggle_color
    This routine alters the color of the records in the list
    FORM toggle_color.
      IF gv_dial = space.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        gv_dial = c_x.
      ELSE.
        FORMAT COLOR 1 INTENSIFIED OFF.
        CLEAR gv_dial.
      ENDIF.
    ENDFORM.                    " toggle_color
    *&      Form  LINE_SEL
    *When double clicked on EBELN field display the details of Purchase Doc
    FORM line_sel.
      CASE sy-lsind.
        WHEN '1'.
          DATA: lv_field(20),
                lv_value(10),
                lv_bstyp like i_rep-bstyp.
          clear: lv_bstyp,lv_value, lv_field.
          GET CURSOR FIELD lv_field VALUE lv_value.
          IF lv_field = 'I_REP-EBELN'.
            IF NOT lv_value IS INITIAL.
              READ LINE sy-index FIELD VALUE i_rep-bstyp
                                       INTO  lv_bstyp.
             READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
              if lv_bstyp = 'F'.
                SET PARAMETER ID 'BES' FIELD lv_value.
                CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
              elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
                SET PARAMETER ID 'VRT' FIELD lv_value.
                CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
              elseif lv_bstyp = 'A'.
                SET PARAMETER ID 'ANF' FIELD lv_value.
                CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
              endif.
            ENDIF.
          ENDIF.
      ENDCASE.
    ENDFORM.                    " line_sel
    reward if useful
    regards,
    ANJI
    Message was edited by:
            Anji Reddy Vangala

  • BAPI needed  for  Goods Receipt Purchase Order(Transaction : MIGO)

    Hi all,
    We have a requirement where in we need to post the documents throuh BAPI for Goods receipt Purchase order(Transaction: MIGO).
    Any inputs on this..is highly appreciable...
    thanks in advance...
    regards..
    prathima.

    Hi,
    use 'BAPI_GOODSMVT_CREATE'
    Check this sample.
    code
    REPORT ZRICH_0001 .
    Structures for BAPI
    DATA: GM_HEADER TYPE BAPI2017_GM_HEAD_01.
    DATA: GM_CODE TYPE BAPI2017_GM_CODE.
    DATA: GM_HEADRET TYPE BAPI2017_GM_HEAD_RET.
    DATA: GM_ITEM TYPE TABLE OF
    BAPI2017_GM_ITEM_CREATE WITH HEADER LINE.
    DATA: GM_RETURN TYPE BAPIRET2 OCCURS 0 WITH HEADER LINE.
    DATA: GM_RETMTD TYPE BAPI2017_GM_HEAD_RET-MAT_DOC.
    CLEAR: GM_RETURN, GM_RETMTD. REFRESH GM_RETURN.
    Setup BAPI header data.
    GM_HEADER-PSTNG_DATE = SY-DATUM.
    GM_HEADER-DOC_DATE = SY-DATUM.
    GM_CODE-GM_CODE = '04'. " MB1A
    Write 971 movement to table
    CLEAR GM_ITEM.
    MOVE '412' TO GM_ITEM-MOVE_TYPE .
    MOVE 'Q' TO GM_ITEM-SPEC_STOCK.
    MOVE '3800533484' TO GM_ITEM-MATERIAL.
    MOVE '1' TO GM_ITEM-ENTRY_QNT.
    *MOVE 'PC' TO GM_ITEM-ENTRY_UOM.
    MOVE '1060' TO GM_ITEM-PLANT.
    MOVE '0007' TO GM_ITEM-STGE_LOC.
    *MOVE '0901' TO GM_ITEM-MOVE_REAS.
    MOVE 'P203601001' TO GM_ITEM-WBS_ELEM.
    MOVE 'P203601001' TO GM_ITEM-VAL_WBS_ELEM.
    APPEND GM_ITEM.
    Call goods movement BAPI
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
    EXPORTING
    GOODSMVT_HEADER = GM_HEADER
    GOODSMVT_CODE = GM_CODE
    IMPORTING
    GOODSMVT_HEADRET = GM_HEADRET
    MATERIALDOCUMENT = GM_RETMTD
    TABLES
    GOODSMVT_ITEM = GM_ITEM
    RETURN = GM_RETURN.
    IF NOT GM_RETMTD IS INITIAL.
    COMMIT WORK AND WAIT.
    CALL FUNCTION 'DEQUEUE_ALL'.
    ELSE.
    COMMIT WORK AND WAIT.
    CALL FUNCTION 'DEQUEUE_ALL'.
    ENDIF.
    WRITE:/ GM_RETMTD.
    LOOP AT GM_RETURN.
    WRITE:/ GM_RETURN.
    ENDLOOP.
    [/code]
    Also check the Bapis
    BAPI_PO_CREATE --> To create Purchase Order
    BAPI_PO_CHANGE --> To change Purchase Order
    BAPI_PO_GETDETAIL --> Todisplay Purchase Order
    Regards,
    Raj.

  • Need a field  for purchase order quantity

    We need a field that is fixed once the PO is created and is never updated even if the qty is changed later on.

    Hi Chandra
      Not clear with your query...
      Are you looking for a field to act as a constant where you can store the PO Item Quantity which was initially created???
      If so, not really sure on the reason but you can get the orginal qty value from Change Documents.
      OBJECTID for Purchase Orders is <b>EINKBELEG</b>.
    Kind Regards
    Eswar

  • Need to send EDI Purchase Order only once

    Hello,
    We are using EDI to send electronic Purchase Orders to Vendors.  Is there a way to tell the system that I only want to send the EDI document once?
    We are having issues when Purchasers reprocess the order resulting in the Vendor recieving an EDI Purchase Order more than once.  I want to tell our Purchasing dept that the EDI order will only go once, when they release the PO and that if they need to resend they will need to follow a manual process (FAX or email).
    Thank you.

    Hi Dan,
    One possibility which immediately comes to mind is using the user exit: ZXM06U02.
    This exit is trigerred while sending the EDI from PO. You can place a logic in here, to show an error if there is already a IDOC sent for that PO.
    We are using this exit for doing some other custom check.
    I hope this helps.
    Kind Regards,
    Prakash

  • Item text needed in Smartform for Purchase Order

    Dear Friends
    i am creaing a smartform form for a Purchase Order , where i am to show item text , & material po text
    also but i am not getting how to show them , i have tried with Function Module Read_ text but if for any item text is not maintained it throw a error     text xxxxxxxxxx code f01 not found in language en .
    kindly somebody help me with the elaborated steps
    regards
    digvijay rai

    Requirement : Need to display the item text in the scripts Tcode me23n.
    problem: the below subroutine program which i wrote reads the entire paragraph but when the values transfered to the script, the script variable accepts only one line. can you please help to pass  the entire value to scripts.
    Actual output
    th respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the exchoose warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.D
    Displayed  output
          th respect to the materials. The only warranties for SAP Group products and s
    code written in scripts :
    DEFINE &VALUE& TYPE STRING(500)
    PERFORM ITEMTEXT IN PROGRAM ZDISPLAYINGITEMTEXT
    USING &EKKO-EBELN&
    USING &EKPO-EBELP&
    CHANGING &VALUE&
    ENDPERFORM
    Item Text : &VALUE&
    REPORT  ZDISPLAYINGITEMTEXT.
    DATA : name type thead-tdname,
           p_ebeln TYPE ekko-ebeln,            "  Purchase order Number
           p_ebelp TYPE ekpo-ebelp.
    types :strin(450).
    data : p_valu type strin.
       data : p_valu1 type strin.
    data: lines type table of tline with header line.
       data: IT_LINE LIKE STANDARD TABLE OF itcsy INITIAL SIZE 0 WITH HEADER LINE,
    IT_TEXT1 LIKE STANDARD TABLE OF itcsy INITIAL SIZE 0 WITH HEADER LINE,
    W_LINE LIKE IT_LINE.
    Types : stri(450).
    data f_name type stri.
    FORM itemtext TABLES i_intab STRUCTURE itcsy
                           i_outab STRUCTURE itcsy.
    *BREAK-POINT.
        READ TABLE i_intab INDEX 1.
      MOVE i_intab-value TO p_ebeln.
      READ TABLE i_intab INDEX 2.
      MOVE i_intab-value TO  p_ebelp.
    *parameters: p_ebeln type ekko-ebeln,
               p_ebelp type ekpo-ebelp.
    concatenate p_ebeln p_ebelp into name.
    call function 'READ_TEXT'
         exporting
              id                      = 'F01'
              language                = sy-langu
              name                    = name
              object                  = 'EKPO'
         tables
              lines                   = lines
         exceptions
              id                      = 1
              language                = 2
              name                    = 3
              not_found               = 4
              object                  = 5
              reference_check         = 6
              wrong_access_to_archive = 7
              others                  = 8.
    loop at lines.  "   INTO w_line.
    BREAK-POINT.
    *move w_line to it_text1.
    *append it_text1.
    *write:/ it_line.
    *p_valu = f_name.
    *p_valu1 = w_line.
    concatenate p_valu lines-tdline into p_valu.
    *p_valu = f_name.
    endloop.
    message p_valu type 'I'.
    READ TABLE i_outab INDEX 1.
        MOVE p_valu TO i_outab-value.
        MODIFY i_outab INDEX sy-tabix.
    *loop at lines.
    write:/ f_name.
    *endloop.
    *READ TABLE i_outab INDEX 1.
       MOVE lines TO i_outab-value.
       MODIFY i_outab INDEX sy-tabix.
    endform.

  • Purchase order need to add to Standard program

    Hi Folks,
    i have standard program RFDEPL00, i have to copy this one into Zprogram and need to add the purchase order number and text into the output display(purchase order number will take from VBAK-BSTNK),
    could any one help me how to bild the logic for this and where to build?
    thanks in advance

    In include program FDEPL00_SHOW line 18, call the alv function module.The out put internal table is gt_data.I think you can debug the program and add find the right position to add new field to the gt_data table.
    But i found include program FDEPL00_READ use LDB method to get the vendor information.So i think it is not very easy to add code in FDEPL00_READ.
    Maybe you can add code before call alv function.
    Regards Chris.

  • Customize printed purchase order report

    Hi all
    i need to customize Printed purchase order report
    i need to add supplier item number to printed purchase order report
    where(group) i need to add item number i think it g_lines right?
    item number is sengment from tml_system_items_b is it correct
    ple reply it is urgent
    ashok

    Ashok,
    Try to get a sample and understand the concern from your users. See if that is already customized to not show the supplier item number (as far as I remember I don't think there are any conditions in the standard report that qulify the printing of the supplier item number, it should print as long as it is entered in the supplier item number field in the PO lines). So see where your users are entering this in PO lines.
    Yes it is vendor_product_num in PO lines table.
    Thanks
    Nagamohan

  • Printed Purchase order Report

    Hi all
    i need to customize Printed purchase order report(Lanadsacp)
    i need to add supplier item number to printed purchase order report
    where(group) i need to add item number i think it is g_lines right?
    item number is sengment1 from tml_system_items_b is it correct?
    ple reply it is urgent
    ashok

    Ashok,
    Try to get a sample and understand the concern from your users. See if that is already customized to not show the supplier item number (as far as I remember I don't think there are any conditions in the standard report that qulify the printing of the supplier item number, it should print as long as it is entered in the supplier item number field in the PO lines). So see where your users are entering this in PO lines.
    Yes it is vendor_product_num in PO lines table.
    Thanks
    Nagamohan

  • Custom Purchase Order Report

    Hi,
    We are trying to move away from pre-printed carbon copy forms and print Purchase Orders to our laser printer. To do this we need to customize our Purchase Order (landscape) report to include our Company logo/information and formatting lines/boxes/shading.
    What would be the best way to do this?
    Is it possible to somehow combine the PO text from Oracle Financials with the PO graphic file (a post script file)? Can the form be changed in Oracle Financials somehow? or with Oracle Reports? Has anyone used or heard of a third party solution that would do this?
    Any help would be greatly appreciated, Thanks

    Hi,
    Did you try with Pasta 3.0, did it work, we want to do the same thing and we test the functionnality of Pasta and it.S seem to work fine.

  • Open Purchase Orders at Retail Value

    Hi
    I need to show Open Purchase Orders at Retail Value in one of my reports and I am using the key figure - "Open Purchase Orders (Retail Price) - 0RTOPDVSV".
    I am using this KF in the cube ZRT_STWK which is part of a multiprovider. Data to this cube is being pulled from 2LIS_03_BF. I couldn't find a probable field in ECC to which I can map the field 0RTOPDVSV in the cube.
    Any idea what the likely field could be in ECC which I can map to the key figure 0RTOPDVSV?
    Any help is appreicated.
    Thank you.
    Pavan.

    Hi,
    To prepare the Open PO report:
    Take all the purchase order details from EKKO and EKPO tables by writing a JOIN based on the selection screen paramters:(into ITAB)
    Then fetch the related GR and GI data from the table MSEG for each PO Item (using for all entries of ITAB passing EBELn and EBELP to MSEG).
    Here based on the movement type you have to consider the GR or GI.
    generally for 101 movement types it is fresh GR(goods receipt).
    so in this table MSEG you have many entries with different movement types for each PO items, so summing up the correct quanitities(ERFMG) for GR and other s is importants.So from ITAB you know the PO qty for a particular PO and from MSEG you know the qty received(GR QTY), if the both qty's are equal then that order is closed, if bothe qty's are not equal then that order is OPEN.
    Fetch the invoice related data from EKBE or RSEG tablse passing EBELN and EBELP fields for them.
    GR dat is in MSEG
    and Invoice data is in EKBE  or RSEG.
    Hope this is useful.
    regards,
    Anji

  • Purchase orders and goods receipt

    Hi all,
    for an excess stock scenario we need to combine the purchase orders vs the goods receipt information.
    Obviously the place to go for PO is 2LIS_02* and for GR it is 2LIS_03*. Though I am still wondering how I can match the values coming from these two sources.
    The main question two answer would be:
    For a given point in time I need to see for one PO the amount of goods receipt that belongs to that PO. Is there any table where I can find that information combined ? And if so is there a BC extractor ?
    I have searched the forum for quite a while, but as usual I might have raised the wrong questions :-).
    I very much appreciate your time and help.
    kindest regards
    Horny

    HI Horny,
    Can you use the Following Tables:
    S039 - > LETZTABG - Date: last (i.e. most recent) goods issue
    EKPO -> EBELN - Purchasing Document Number.
    You can create View by using these two tables (Material Number is the Common) and uploade the data.
    Hope this will be helpful for your question.
    Thanks
    Rajesh
    Message was edited by:
            rajesh

Maybe you are looking for

  • Client PC migration fails from SBS 2003 to SBS 2012 Essentials

    Please check out this entire message before making an assumption about what it says, thanks. Our old SBS 2003 Server hard failed a few weeks ago. Rather than repair it, we ordered a new server with SBS 2012 Essentials and loaded the backup data from

  • Can we Read/Display the content of Word/PDF file  in Flex 3/4 ?

    Hello All, Can we  read/display the content of Word/PDF file in Flex 3 or Flex 4?.  I have one word file containing  Arabic  and English content with some settings like  Bold, Color, Align etc. I want to display the content of this word file as it is

  • Headphones don't work properly

    When ever i use my headphones with my macbook I can only hear out of the left side, i tried several different pairs of headphones that worked perfectly fine, and I kept getting the same result; so my macbook is the problem. How do I fix this?

  • I had to replace my hard drive how reinstall imovie

    I had to replace my hard drive and now I don't have imovie or iphoto.  I have backed up my old hard drive but I am not sure how to install apps and retrieve my old data.

  • JSF tags and produced html

    Hi all i have a question. Why do the JSF tags produce html that is laid out with tables rather than divs? I've tried to get the jsf framework adopted in my organisation and its this, and i quote 'Poor html' that is blocking the adoption. Any one got