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
AnujYour 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 эюя' -
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 PMHi 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 KUMARHAI,
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 advanceHi,
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 raiRequirement : 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 advanceIn 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
ashokAshok,
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 -
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
ashokAshok,
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 -
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, ThanksHi,
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
HornyHI 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.
-
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