Create Purchase Order based on Sales Order through DI
Hi All,
As per my requirment i need to create PO based on Sales Order by Using DI object.
By using the UI i am able to create a PO. i.e,. in the Sales Order Form , in logistic tab when the purchase check box is checked and when the SO is added there is a work around form poped up where we give the vendor information and create PO.
Code:
objPurchaseOrder = objSBOAPI.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders)
objPurchaseOrder.CardCode = "V1010"
objPurchaseOrder.CardName = "Far East Imports"
objPurchaseOrder.DocDate = "02/24/05"
objPurchaseOrder.DocDueDate = "02/24/05"
objPurchaseOrder.Lines.BaseType = "17"
objPurchaseOrder.Lines.BaseLine = "0"
objPurchaseOrder.Lines.BaseEntry = "35"
objPurchaseOrder.Add()
Error Description : Base Doc Type donot match with target Doc type
PLease help me
Thanks and Regards
Sandeep
hi,
try removing the double quotes for basetype, baseline, baseentry.
if it doesn't solve the problem
make sure that you are assigning the docentry only but not the docnum of the sales order to the purchase order lines' baseentry.
rgds,laks.
Similar Messages
-
Can we create purchase order through report programming?
hi experts.....
can we create purchase order through report programming?If yes plz give me the thread details?Hi,
Use this code in a program by using a BAPI function module
Anothe rway is using classical/ALV report using call transaction from a report for changing the PO
loop at i_header.
header-ref_1 = i_header-legacy.
headerx-ref_1 = c_x.
header-doc_type = i_header-bsart.
headerx-doc_type = c_x.
header-comp_code = i_header-bukrs.
headerx-comp_code = c_x.
header-purch_org = i_header-ekorg.
headerx-purch_org = c_x.
header-pur_group = i_header-ekgrp.
headerx-pur_group = c_x.
header-vendor = i_header-lifnr.
headerx-vendor = c_x.
concatenate i_header-bedat+4(4)
i_header-bedat+0(2)
i_header-bedat+2(2)
into header-doc_date.
headerx-doc_date = c_x.
header-created_by = i_header-ernam.
headerx-created_by = c_x.
header-currency = i_header-waers.
headerx-currency = c_x.
concatenate i_header-kdatb+4(4)
i_header-kdatb+0(2)
i_header-kdatb+2(2)
into header-vper_start.
headerx-vper_start = c_x.
loop at i_items where legacy = i_header-legacy.
item-po_item = i_items-ebelp.
itemx-po_item = i_items-ebelp.
itemx-po_itemx = c_x.
if i_header-bsart = 'NB'.
item-material = i_items-ematn.
itemx-material = c_x.
schedule-quantity = i_items-menge * 1000.
schedulex-quantity = c_x.
else.
item-short_text = i_items-ematn.
itemx-short_text = c_x.
item-matl_group = '1000'.
itemx-matl_group = c_x.
schedule-quantity = '1'.
schedulex-quantity = c_x.
endif.
item-plant = i_items-werks.
itemx-plant = c_x.
schedule-po_item = i_items-ebelp.
schedule-sched_line = '1'.
schedulex-po_item = i_items-ebelp.
schedulex-sched_line = '1'.
schedulex-po_itemx = c_x.
schedulex-sched_linex = c_x.
concatenate i_items-eildt+0(2)
i_items-eildt+2(2)
i_items-eildt+4(4)
into schedule-delivery_date.
schedulex-delivery_date = c_x.
item-price_unit = i_items-peinh * 100.
itemx-price_unit = c_x.
item-tax_code = i_items-mwskz.
itemx-tax_code = c_x.
item-shipping = i_items-evers.
itemx-shipping = c_x.
account-po_item = i_items-ebelp.
accountx-po_item = i_items-ebelp.
accountx-po_itemx = c_x.
if i_header-bsart = 'FO'.
item-pckg_no = sy-tabix.
itemx-pckg_no = 'X'.
limits-pckg_no = sy-tabix.
limits-limit = i_items-overalllimit.
limits-exp_value = i_items-expectedoverall.
posrvaccessvalues-pckg_no = sy-tabix.
posrvaccessvalues-line_no = '0'.
posrvaccessvalues-serno_line = '00'.
posrvaccessvalues-percentage = '100.0'.
posrvaccessvalues-serial_no = '01'.
account-serial_no = '1'.
accountx-serial_no = '1'.
accountx-serial_nox = c_x.
account-quantity = '1'.
accountx-quantity = c_x.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = i_items-kostl
importing
output = account-costcenter.
accountx-costcenter = c_x.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = i_items-sakto
importing
output = account-gl_account.
accountx-gl_account = c_x.
item-acctasscat = i_items-knttp.
itemx-acctasscat = c_x.
item-item_cat = i_items-epstp.
itemx-item_cat = c_x.
endif.
append:item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
clear :item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
endloop.
call function 'BAPI_PO_CREATE1'
exporting
poheader = header
poheaderx = headerx
* POADDRVENDOR =
* TESTRUN =
* MEMORY_UNCOMPLETE =
* MEMORY_COMPLETE =
* POEXPIMPHEADER =
* POEXPIMPHEADERX =
* VERSIONS =
* NO_MESSAGING =
* NO_MESSAGE_REQ =
* NO_AUTHORITY =
* NO_PRICE_FROM_PO =
importing
exppurchaseorder = ponumber
* EXPHEADER =
* EXPPOEXPIMPHEADER =
tables
return = return
poitem = item
poitemx = itemx
* POADDRDELIVERY =
poschedule = schedule
poschedulex = schedulex
poaccount = account
* POACCOUNTPROFITSEGMENT =
poaccountx = accountx
* POCONDHEADER =
* POCONDHEADERX =
* POCOND =
* POCONDX =
polimits = limits
* POCONTRACTLIMITS =
* POSERVICES =
posrvaccessvalues = posrvaccessvalues.
* POSERVICESTEXT =
* EXTENSIONIN =
* EXTENSIONOUT =
* POEXPIMPITEM =
* POEXPIMPITEMX =
* POTEXTHEADER =
* POTEXTITEM =
* ALLVERSIONS =
* POPARTNER =
if ponumber eq space.
loop at return where type = 'E'.
clear buffer.
move-corresponding return to e_return.
concatenate i_header-legacy e_return into buffer.
transfer buffer to p2_file.
endloop.
move-corresponding i_header to i_eheader.
transfer i_eheader to p3_file.
loop at i_items where legacy = i_header-legacy.
move-corresponding i_items to i_eitems.
transfer i_eitems to p4_file.
endloop.
else.
commit work and wait.
endif.
clear:ponumber,header,headerx,item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
refresh:item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
endloop.
close dataset p2_file.
close dataset p3_file.
close dataset p4_file.
Regards
Krishna -
Create Purchase Order through EDI
Hello Everybody,
I want to know how to create Purchase order through EDI. I will receive text file from third party system. I have made most of the configuration related to EDI like Port -File, Partner Function etc. I am using message type PORDCR and Idoc type PORDCR05.
But i do not know how the SAP first will convert the text file into IDoc and then create Purchase order. Can any body help me how to go about it? What steps i have to follow. I will have text file from that i have to create Purchase order through EDI.
Thanks in advance.
Regards,
ManishHi,
Create Purchase Order through EDI
Regarding on your query,
You can use the standard ORDERS05 idoc type itself to send outbound idocs.
It will be the middleware or the integration team that will send this IDOC to the receiving system.
or
Maintain Partner Profile in WE20, RFC Connection to the Middleware in SM59 and Port in WE21.
Maintain Output Procedure/Output Type/Access Sequences/Condition Records from NACE
Generate the Outbound 850 (PO) from ME21N
Regards,
Sekhar -
Creating purchase order through coding
I am trying to create purchase order through Code, for a table field i can insert as :
odocs = GOD_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders)
odocs.CardCode = "200173"
But if the field is not a table field then , how can i insert it in PO?????Hi Ashish Patil
Not sure what you mean, not sure what table you are talking about. But here is some sample code on how to add a purchase order.
Dim PO As SAPbobsCOM.Documents
PO = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders)
PO.CardCode = "VUL001"
PO.Lines.ItemCode = "02SILVTS"
PO.Lines.Quantity = 1
PO.Lines.Price = 120
If PO.Add() <> 0 Then
Dim str As String
str = oCompany.GetLastErrorDescription()
MsgBox(str)
End If
hope it helps -
Problem in creating Purchase order through Idoc
Hi ABAPers,
I am trying to post PO document through WE19 t-code using inbound function module BAPI_IDOC_INPUT1 which is calling BAPI_PO_CREATE1 internally.And i am getting below error messages.
1. Characteristic does not exist in operating concern AC01
2. This function only possible for subcontracting items
3. No instance of object type PurchaseOrder has been created. External reference
passing data to IDOC:PORDCR102
Header Segment : E1BPMEPOHEADER and E1BPMEPOHEADERX
company code 0814
doc_type NB
vendor 0000400001
poprg- EPRO
pgroup U01
Item Segment : E1BPMEPOITEM and E1BPMEPOITEMX
Item 00010
material 000000000000000263
plant 0374
Qty 22.000
Delivery Segment E1BPMEPOSCHEDULE and E1BPMEPOSCHEDULEX
Item 00010
Schedule line 0001
delivery date 01.12.2008
Qty 22.000
Note: i am able to create PO successfully, through SE37 by using FM BAPI_PO_CREATE1 with given above data.
Please confirm me, what else i need to pass to post PO through WE19 t-code using inbound function module BAPI_IDOC_INPUT1.
Please reply me ASAP.
Thanks and Regards,
Sekhar Raju.must be data format issue. when you use Function_module/BAPI from SAP GUI, convertion exit is applied automatically. hence data is converted to proper format & submited.
-
During creating Purchase order
Hi alll ,
My Problem is while creating purchase order through purchase requisition
How to remove the tick mark against invoice reciept i.e (repos) and gr based i.e ( weber )
programatically .
Regards
Deepakhi,
if you are working in ECC version you can easily resolve your porblem by implementing implecit enhancement.
the above specifed user exit is not called exactely.
implement two implecit enhancement in the following include program for resolving your problem
1.Go to inlcude program LMEGUICI5. in that we have one method implementaion. Here implement implecit enhancement at the beginning of the method like below.
METHOD transport_to_dynp.
ENHANCEMENT 50 ZREMOVE_FLAG. "active version
clear: mepo1317_pbo-repos,
mepo1317_pbo-webre,
mepo1317_pbo-erekz.
ENDENHANCEMENT.
mepo1317 = mepo1317_pbo.
ENDMETHOD.
2. Go to include program: MM06EFPO_POT_ETDRK and implement another implecit enhancement at the beginning of the following subroutine.
FORM pot_etdrk.
ENHANCEMENT 100 ZREMOVE_POT. "active version
loop at pot.
CLEAR: pot-repos,
pot-webre,
pot-erekz.
MODIFY pot.
ENDLOOP.
ENDENHANCEMENT.
endform.
If you need any information please let me know.
Regards,
Peranandam -
Creating purchase order from code
I am importing an excel file and then for each row,trying to create purchase order through coding by using document object. I am successful in creating Order Headers but how can i create Lines if the excel sheet is having Same order but different Item codes????
I was trying to import excel file in purchase order by following way:-
I read each row and for each row, call function for creating order. This is my sample code---
(var30 is previous excel value of order no. & var1 is current value)
public sub createorder()
odocs = GOD_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders)
If irow = 2 Then
odocs.CardCode = "200173"
odocs.Lines.ItemCode = var16
odocs.Lines.Add()
Else
If var1 = var30 Then
odocs.CardCode = "200173"
odocs.Lines.ItemCode = "3231015"
odocs.Lines.Add()
Else
lRetCode = odocs.Add()
odocs.CardCode = "200173"
odocs.Lines.ItemCode = var16
odocs.Lines.Add()
End If
End If
lRetCode = odocs.Add()
Dim x As String
GOD_Company.GetNewObjectCode(x)
If lRetCode <> 0 Then
GOD_Company.GetLastError(lErrCode, sErrMsg)
MsgBox(sErrMsg)
Else
MsgBox("Order Created with no " & x & ".")
End If
var30 = var1
This code is giving error as "Item No. is missing(OPOR.ObjType)", But Item no. is not present in Purchase Order. Please check whether Code is proper or i need to make any changes???????/ -
Workflow issue when create Purchase Order automaticlly based on Sales Order
dear experts,
I got a problem when create purchase order automatically once the Sales Order created, the field ERNAE of the Purchase Order creatd is WF-BATCH, but we want this field to be the user log in the system, like John. Smith
it seems this is a configuration issue, but i am not familar with workflow, do you experts have any solutions?
thank you in advance.
Hongtaothank you for you reply my friend.
yes, i mean the PO creator.
I just create a SO in VA01, then change the Schedule line category from CN to CP, then SAVE, then Confirm the Delivery Proposal. after all this, the PO will be created automatically by Workflow. Because when I display the PO via ME23N, it displays [Standard PO XXXXX created by Workflow-System] on the top of the screen.
But i do not know which workflow is trigered to create the PO. and i tried SWEL like you said, there is no record listed.
do you have any other suggestions? thank you so much, friend. -
How to create purchase order and sales orders
Hi guys,
i want to create sales order in IDES and i need to create purchase order ECC.
depending on that i want to create the idoc for that and i want to send info through xi to the other sys.
will u plz any of u can help me in this query.
Thanks & Regard,
Kalyani..Hi,
TCODE for purchase order- me22n
TCODE for sales order- va01
Regards,
S.RamNarender -
Create purchase order automatically from Sales order.
Hi,
I have ticked Create purchase order automatically check box in item category TAS and TAB but still not able to generate Purchase Order automatically.???
any clue.
thanks/ashuYou need to have your prerequisites in place for the automated creation of the purchase requisition before the purchase order can be raised:
You may already have done this, but check that your material has the purchasing information on it (trxn MM02, purchasing tab), that a purchasing information record exists for that material and vendor in that purchasing org (trxn ME12), check that a source list exists as well (trxn ME02). If you have created the source list or purchasing info record after the sales order has been created then you will need to go into trxn ME56 to assign them manually. That should release the PO to be created.
In standard 3rd party, the PO is created using ME59 (prog RM06BB20), which can be run as a batch job.
Jon -
Created purchase order based in drafts
I need help, I want to create purchase order based in drafts.
Has somebody any sample in SDK??
Thanks.Hi Santiago,
Please see your Help Filesprovided with the SDK:
DI-API > Reference > Overview > Objects > Documents. Below on that page you'll find a nice link to the sample below. Replace the <i>vDrafts.DocObjectCode = oInvoices</i> with order and you're set.
Hope it helps,
Rowdy
<b>Code (VB from the Help File)</b>
Sub AddInvoice_Click()
Dim RetVal As Long
Dim ErrCode As Long
Dim ErrMsg As String
'Create the Documents object
Dim vDrafts As SAPbobsCOM.Documents
Set vDrafts = vCmp.GetBusinessObject(oDrafts)
'Set values to the fields
vDrafts.DocObjectCode = oInvoices
vDrafts.CardCode = "BP234"
vDrafts.HandWritten = tNO
vDrafts.DocDate = "21/8/2003"
vDrafts.DocTotal = 264.6
'Invoice Lines - Set values to the first line
vDrafts.Lines.ItemCode = "A00023"
vDrafts.Lines.ItemDescription = "Banana"
vDrafts.Lines.Quantity = 50
'Invoice Lines - Set values to the second line
vDrafts.Lines.Add
vDrafts.Lines.ItemCode = " A00033"
vDrafts.Lines.ItemDescription = "Orange"
vDrafts.Lines.Quantity = 1
'Add the Invoice
RetVal = vDrafts.Add
'Check the result
If RetVal <> 0 Then
vCmp.GetLastError ErrCode, ErrMsg
MsgBox ErrCode & " " & ErrMsg
End If
End Sub -
User based authorization to create Purchase Orders out of Purchase Req.?
Hello,
I have the following requiment for my client:
User based authorization to create Purchase Orders out of Purchase Req.?
I am told the same can be achieved using same standard menu path in IMG/Customizing.
Please advise with the menu path and detials, Usefull answers will be rewarded.
ThanksUsing OMET Function Authorization, you can restrict users to create Purchase orders without Purchase Reqn.
Using OMET trxn code Create one Function Authorixation Called pr and in General Parameters tab Select the Field Selection and in Possible reference Objects Tab Mark the With ref to Prs check box and save.
Next, you've got to associate via SU01
Click Parameters, insert a new parameter id EFB to the authorization code.
Type in Parameters value you want e.g. XX
You have to assign the control for ALL the SAP buyers via thier SAP users id.
Logoff and login again. Then try to create a Purchase Order without a reference.
From Next time whenever you try to create with out referring PR it will not allow you to Save PO.
Regards,
Ashok -
Automaticf creation of purchase order through pr
Dear Consultants,
system is not creating automatic purchase order. in me59n i am getting the following error
Requisition could not be converted
i have done the following setting for automatic creation of purchase order
1. in materil master record i have checked auto po.
2. in vendor master record i have checked automatic purchase order
3. i have created purchase info record with the combination of material vendor purchase organization.
4. in source list i have fixed the vendor in me01
5. in source determination under define regular vendor i have checked the box against the required plant.
kindly let me know what all other configurations are required for creating automatic purchase order through purchase requisition
Regards/ SiriHi
Is this purchase requisition created during MRP run??
If yes then have you marked the sourcelist record for this vendor as MRP relevant??
If the purchase requisition is generated manually then whether the source of supply was assigned in the PR??
In ME59N, the PR would be converted to PO if the PR has the assigned source of supply.
Regards
Prasad -
Issue while creating Purchase order (ME21N)
Hi Friends,
Hope U Have a Good Day...
My issue is while creating purchase order , I enter vendor and in org.data tab I enter Pur.Org,company code and purchase group. After entering these values if I check in communication tab, the sales person and telephone fields are filled with corresponding data.
Now my requirement is after entering Pur.Org, Company code and purchase group, and if I go and check in Communication tab, these two fields ( sales person, telephone ) should be blank.
Please help me in this issue...
Thanks & Regards
Ganesh ReddyHi Ganesh,
This is being fetched frm the vendor master and if u wan this field to be blank
Then u hav to remove those data frm the vendor master .
Put tat vendor, comp code n purchase org
Then select pur org data alon - >chk in purch data
u can find tat sales person n telp no being appeared in the PO
lemme know if u hav any prob in getting tat . -
Email Created Purchase Order to approver
Dear All,
Good Day!
is it possible to be automatic send email to approver the created purchase order
How can i config/setup purchase order to be email to different approver
this is the first time we will do the created purchase order to be send automatic through email to approvers
Thanks in advance
Ermin D. ConcepcionHi,
Same question you are asking again & again!
Re: Send PO to vendor through e-mail
OK.
In Standard PO to send by E-mail to vendor is possible only after PO final release,if you set Dispatch time as 4 {Send immediately (when saving the application)} in NACE t.code in application EF & in condition record t.code:MN04 for PO message type.
Purchase order to be email to different approve for approving , then go for Workflow.
http://wiki.sdn.sap.com/wiki/display/ABAP/SendanExternalmailthroughSAPBusinessWorkflowandRecieversaddressin+CC
Regards,
Biju K -
How to create purchase order using SharePoint Custom List
Hi All,
Can you please provide some example or link to create Purchase Order using SharePoint List / SharePoint Designer.
ThanksHi,
It would be difficult to achieve what you want with the OOTB features of only one list.
Per my understanding, there would be two main functionalities in the solution you want:
1. Calculate and display the “Balance Qty” dynamically based on the values of “Order Qty” and “Deliver Qty”;
2. Trace the “Deliver Date” and “Deliver Qty” as per “Purchase No”;
As a workaround, I would suggest you create two lists as below:
1. List “Orders”: Saving the upcoming orders per “Purchase No”, one “Order Qty” related to one unique “Purchase No”.
Columns in this list:
Purchase No(Number);
Order Date(Date);
Order Qty(Number);
2. List “Deliveries”: Recording each delivery, one “Deliver Qty” to one unique existing “Purchase No” in list “Orders”.
Columns in this list:
Purchase No(Lookup “Purchase No” in list “Orders”);
Order Date(Additional Lookup column along with “Purchase No”);
Order Qty(Additional Lookup column along with “Purchase No”);
Deliver Date(Date);
Deliver Qty(Number);
Balance Qty(Number);
More information about
Lookup column in SharePoint List:
http://msdn.microsoft.com/en-us/library/office/ff728095(v=office.14).aspx
http://zimmergren.net/technical/sp-2010-how-to-relational-lists-in-sharepoint-2010
In the “Deliveries” list, we can trace each “Deliver Qty” and “Deliver Date” easily by filtering the “Purchase No” column in the list view page.
For the dynamic values in “Balance Qty” column, Event Receiver with custom code would be needed as we will need to query the “Order Qty” in “Orders” list and all the
existing “Deliver Qty” value per “Purchase No” in “Deliveries” list.
An idea about
how to implement a Purchase Order system in this blog would be helpful:
http://ethan-deng.blogspot.jp/2013/03/purchase-order-management-system.html
Best regards,
Patrick
Patrick Liang
TechNet Community Support
Maybe you are looking for
-
Please help me find some stroll lights & trigger remote I like to have some for the pros.............are home shotting thanks..........
-
Error: Message E RSDODSO 201 cannot be processed in plugin mode HTTP
Hi all, We have developed a BSP page in which, on button click, the onInputProcessing has a code written where 'Performs' in ABAP programs are being called. When i execute the page, the layout gets executed fine. But on clicking the button after ente
-
Printr driver - can't download
I have been trying to dowload a new driver from the HP Support & Drivers pages. When I select Download for the follwoing driver (and some other, related ones), I get Page Not Found at the ftp site. HP Universal Print Driver for Windows PCL5 5.0 16 Ju
-
Unable to completely delete songs on iphone or itunes
Hello. I have read many threads that detail what to do if your iphone (4S) has duplicate songs and have tried to follow the instructions. This is where I've ended up.... I have been able to delete, by swiping right to left on each song on my phone
-
I have logged in to my iTunes account but forgot my security answers. How do I retrieve or change them?