Create purchase order by line items
hi,
create p.o number by 10 or 20 line items .
how will prepare data in excel sheet file.
how will write code update data by header item and line item.
Hi,
Please check this thread on this issue of PO -
/thread/989045 [original link is broken]
The excel sheet should have the header and thier relevant items.
ex:
H-header 1001 10..
I-Item 10 100-100 ...
I
I
H
In the program we need to need to create thefile with this and internal tbale with the header and items details respectively.
Regards
Chandralekha
Similar Messages
-
Purchase Orders - Updating Line Items After a Portion Has Been Received
Is there any way to make a line item editable on a purchase order if only a portion of it has been received?
Basically, our company will create a Purchase Order in SAP, which goes to our office in Hong Kong to arrange shipment. These Purchase orders will, many times, have multiple items listed at, let's say, 10,000 pieces each. Each of the items may ship on different dates due to our request for different dates or due to limited container space. So really...each item on the Purchase Order is like a "mini purchase order"... as I like to call it.
So, when we have a situation where only 5,000 of a specified item has been sent, we create a Goods Receipt for that amount...making that line item un-editable on the Purchase Order.
I would like for it to be editable so that I can add/change the the "Status Update" column I created (this is for our sales reps to be able to determine when product should be arriving).
The only solution I can think of is readjusting the quantities right when we know they will be split...so by the time they arrive (usually a month after they are shipped from Hong Kong), the quantities are already separated out in the system.
Only thing is, I have to be REALLY careful not to mess up the original order...or confuse things.
Any suggestions??There is a good reason that a line item will become non-editable on a purchase order if a portion of it has been received.
Do not fight with system. If possible, change the order to small one from the beginning. That would be much better.
Thanks,
Gordon -
Purchase Order / Requisition Line Item Approval
Hi
Just wondering if Purchase Order / Purchase Requisition LINE ITEM approval is an option for workflow?
Would the better solution be to use SRM line item approval on a shopping cart and create the Purchase Order from this?Hi
Just wondering if Purchase Order / Purchase Requisition LINE ITEM approval is an option for workflow?
If the process involved the need to use different approvers for different line items, would the better solution be to use SRM line item approval on a shopping cart and create the Purchase Order from this? -
Send CV03N attachments present in Purchase order at line item level
I have a purchase order and want to send it via email. The purchase order has attachments at line item level (e.g. a specification in pdf format). Attachments were able to see through T-code CV03N,
When transferring the PO to vendor ,smartform is attached to email and sended to vendor .now we need additioanl attachments also to be sended in same email which is present at line item level (CV03N),Whether it is possible to copy the attachments into the email, so they are sent out, too?
Please explain the methods
Print program used for smartform is custom Z name space.
Thanks in advance
Regards,
arunpart 3
*& Cet GOS attachments
IF pa_incl = 'X'.
CALL FUNCTION 'BDS_GOS_CONNECTIONS_GET'
EXPORTING
classname = 'BUS2010'
objkey = lv_ebeln
TABLES
gos_connections = lt_gos_connections
EXCEPTIONS
no_objects_found = 1
internal_error = 2
internal_gos_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE i001(zmm) WITH 'BDS_GOS_CONNECTIONS_GET' sy-subrc DISPLAY LIKE 'E'.
ENDIF.
LOOP AT lt_gos_connections INTO ls_gos_connections.
CLEAR lv_docid.
lv_docid = ls_gos_connections-loio_id.
CALL FUNCTION 'SO_DOCUMENT_READ_API1'
EXPORTING
document_id = lv_docid
IMPORTING
document_data = ls_document_data
TABLES
object_content = lt_object_content
contents_hex = lt_contents_hex
EXCEPTIONS
document_id_not_exist = 1
operation_no_authorization = 2
x_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE i001(zmm) WITH 'SO_DOCUMENT_READ_API1' sy-subrc DISPLAY LIKE 'E'.
ENDIF.
* Create attachment name as file name
CONCATENATE ls_document_data-obj_descr '.' ls_document_data-obj_type INTO at_subj.
*add attachment
IF ls_document_data-obj_type = 'TXT'. "If text document, attachment type should be 'RAW'
CALL METHOD document->add_attachment
EXPORTING
i_attachment_type = 'RAW'
i_attachment_subject = at_subj
i_att_content_text = lt_object_content.
ELSE.
CALL METHOD document->add_attachment
EXPORTING
i_attachment_type = 'BIN'
i_attachment_subject = at_subj
i_att_content_hex = lt_contents_hex.
ENDIF.
ENDLOOP.
ENDIF. -
Sales order with line items having multiple values in multiple currency
Please suggest solution for creating sales order having line items with multiple values in multiple currencies.
e.g. Line Item A Qty/1 No, value 100INR100$100EUR. Customer wants all three values to display at sales order line item level and create billing in 3 currencies.Hi,
As far as my understanding it may be possible round the solution,
For 1 company code we can able to maintain 3 currancies,
1 currancy is hard currance & other two are dual currancies.
Create sales order with 3 line items having 3 diffrant currancies
Spilt invoice on the basis of currancy
Last pass to this invoices to accounting.
Whole process is
Sales order >>> Delivery >>> Invoice 1, Invoice 2, Invoice 3(Split invoice on basis of Currancy).
Consult with FI Team they will tell you about dual currancy & hard currancy
Kapil -
Error: Automatic tick in free Item in purchase order on line for specific vendor
Hello All,
Sales order is created then running mrp through MD01,requisitions are created.while creating purchase order for a particular vendor it is automatically ticking on free item indicator and giving error as material is not maintained in the plant (XXX) Free trade. while PR is not created for plant(XXX).
i have checked they are not doing any transaction in plant (xxx).
Please do needful in above issue.Hi all ;
Can you share screen-shoots for your sales document ?
1-What is your sales document type ? Go to VOV8 find it and share.
2-What is your item category for this sales order? Go to VOV7 find it and share us.
3-What is your schedule line ? Go to VOV6 find it and share us.
Regards.
M.Ozgur Unal -
HOW TO CREATE PURCHASE ORDER USING BAPI
HI FRIENDS,
I HAVE URGENT REQUIREMNT ,TO CREATE PURCHASE ORDER USING BAPI.PLS HELP ON THIS.
UR'S
RAVIHi
See the sample code and do accordingly
REPORT zpo_bapi_purchord_tej.
DATA DECLARATIONS *
TYPE-POOLS slis.
TYPES: BEGIN OF ty_table,
v_legacy(8),
vendor TYPE bapimepoheader-vendor,
purch_org TYPE bapimepoheader-purch_org,
pur_group TYPE bapimepoheader-pur_group,
material TYPE bapimepoitem-material,
quantity(13),
delivery_date TYPE bapimeposchedule-delivery_date,
net_price(23),
plant TYPE bapimepoitem-plant,
END OF ty_table.
TYPES: BEGIN OF ty_alv,
v_legs(8),
success(10),
v_legf(8),
END OF ty_alv.
TYPES: BEGIN OF ty_alv1,
v_legf1(8),
v_msg(500),
END OF ty_alv1.
*-----Work area declarations.
DATA: x_table TYPE ty_table,
x_header TYPE bapimepoheader,
x_headerx TYPE bapimepoheaderx,
x_item TYPE bapimepoitem,
x_itemx TYPE bapimepoitemx,
x_sched TYPE bapimeposchedule,
x_schedx TYPE bapimeposchedulx,
x_commatable(255),
x_alv TYPE ty_alv,
x_alv1 TYPE ty_alv1,
x_alv2 TYPE ty_alv1.
*-----Internal table declarations.
DATA: it_table TYPE TABLE OF ty_table,
it_commatable LIKE TABLE OF x_commatable,
it_item TYPE TABLE OF bapimepoitem,
it_itemx TYPE TABLE OF bapimepoitemx,
it_sched TYPE TABLE OF bapimeposchedule,
it_schedx TYPE TABLE OF bapimeposchedulx,
it_alv TYPE TABLE OF ty_alv,
it_alv1 TYPE TABLE OF ty_alv1,
it_alv2 TYPE TABLE OF ty_alv1.
DATA: po_number TYPE bapimepoheader-po_number,
x_return TYPE bapiret2,
it_return TYPE TABLE OF bapiret2,
v_file TYPE string,
v_temp(8),
v_succsount TYPE i VALUE 0,
v_failcount TYPE i VALUE 0,
v_total TYPE i.
DATA: v_temp1(5) TYPE n VALUE 0.
DATA: x_event TYPE slis_t_event,
x_fieldcat TYPE slis_t_fieldcat_alv,
x_list_header TYPE slis_t_listheader,
x_event1 LIKE LINE OF x_event,
x_layout1 TYPE slis_layout_alv,
x_variant1 TYPE disvariant,
x_repid2 LIKE sy-repid.
DATA : it_fieldcat TYPE TABLE OF slis_t_fieldcat_alv.
SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK v_b1 WITH FRAME.
*-----To fetch the flat file.
PARAMETERS: p_file TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK v_b1.
AT SELECTION-SCREEN *
AT SELECTION-SCREEN.
IF p_file IS INITIAL.
MESSAGE text-001 TYPE 'E'.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
*-----To use F4 help to find file path.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
v_file = p_file.
START-OF-SELECTION *
START-OF-SELECTION.
PERFORM gui_upload.
LOOP AT it_table INTO x_table.
PERFORM header_details.
v_temp = x_table-v_legacy.
LOOP AT it_table INTO x_table WHERE v_legacy = v_temp.
PERFORM lineitem.
PERFORM schedule.
ENDLOOP.
DELETE it_table WHERE v_legacy = v_temp.
PERFORM bapicall.
MOVE po_number TO x_alv-success.
APPEND x_alv TO it_alv.
CLEAR x_alv.
*-----To clear the item details in internal table after the operation for a header.
REFRESH: it_item,
it_itemx,
it_sched,
it_schedx.
CLEAR: v_temp1.
ENDLOOP.
v_total = v_succsount + v_failcount.
PERFORM display_alv.
FORM GUI_UPLOAD *
FORM gui_upload .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_file
filetype = 'ASC'
TABLES
data_tab = it_commatable
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc = 0.
*-----To fetch the comma seperated flat file into an internal table.
LOOP AT it_commatable INTO x_commatable.
IF x_commatable IS NOT INITIAL.
SPLIT x_commatable AT ',' INTO
x_table-v_legacy
x_table-vendor
x_table-purch_org
x_table-pur_group
x_table-material
x_table-quantity
x_table-delivery_date
x_table-net_price
x_table-plant.
APPEND x_table TO it_table.
ENDIF.
CLEAR x_table.
ENDLOOP.
ENDIF.
ENDFORM. " gui_upload
FORM HEADER_DETAILS *
FORM header_details .
MOVE 'NB' TO x_header-doc_type.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = x_table-vendor
IMPORTING
output = x_table-vendor
MOVE x_table-vendor TO x_header-vendor.
MOVE x_table-purch_org TO x_header-purch_org.
MOVE x_table-pur_group TO x_header-pur_group.
x_headerx-doc_type = 'X'.
x_headerx-vendor = 'X'.
x_headerx-purch_org = 'X'.
x_headerx-pur_group = 'X'.
ENDFORM. " header_details
FORM LINEITEM *
FORM lineitem .
v_temp1 = v_temp1 + 10.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_temp1
IMPORTING
output = v_temp1.
MOVE v_temp1 TO x_item-po_item.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = x_table-material
IMPORTING
output = x_table-material.
MOVE x_table-material TO x_item-material.
MOVE x_table-quantity TO x_item-quantity.
MOVE x_table-net_price TO x_item-net_price.
MOVE x_table-plant TO x_item-plant.
x_itemx-po_item = v_temp1.
x_itemx-material = 'X'.
x_itemx-quantity = 'X'.
x_itemx-net_price = 'X'.
x_itemx-plant = 'X'.
APPEND x_item TO it_item.
APPEND x_itemx TO it_itemx.
CLEAR: x_item, x_itemx.
ENDFORM. " lineitem1
FORM SCHEDULE *
FORM schedule .
MOVE x_table-delivery_date TO x_sched-delivery_date.
MOVE v_temp1 TO x_sched-po_item.
x_schedx-delivery_date = 'X'.
x_schedx-po_item = v_temp1.
APPEND x_sched TO it_sched.
APPEND x_schedx TO it_schedx.
CLEAR: x_sched, x_schedx.
ENDFORM. " schedule
FORM BAPICALL *
FORM bapicall .
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = x_header
poheaderx = x_headerx
IMPORTING
exppurchaseorder = po_number
TABLES
return = it_return
poitem = it_item
poitemx = it_itemx
poschedule = it_sched
poschedulex = it_schedx.
IF po_number IS NOT INITIAL.
v_succsount = v_succsount + 1.
MOVE x_table-v_legacy TO x_alv-v_legs.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
v_failcount = v_failcount + 1.
MOVE x_table-v_legacy TO x_alv-v_legf.
MOVE x_table-v_legacy TO x_alv1-v_legf1.
LOOP AT it_return INTO x_return.
IF x_alv1-v_msg IS INITIAL.
MOVE x_return-message TO x_alv1-v_msg.
ELSE.
CONCATENATE x_alv1-v_msg x_return-message INTO x_alv1-v_msg SEPARATED BY space.
ENDIF.
ENDLOOP.
APPEND x_alv1 TO it_alv1.
CLEAR x_alv1.
ENDIF.
ENDFORM. " bapicall
FORM DISPLAY_ALV *
FORM display_alv .
PERFORM x_list_header.
PERFORM build_fieldcat CHANGING x_fieldcat.
x_repid2 = sy-repid.
x_event1-name = 'TOP_OF_PAGE'.
x_event1-form = 'TOP_OF_PAGE'.
APPEND x_event1 TO x_event.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = x_repid2
is_layout = x_layout1
it_fieldcat = x_fieldcat
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'TOP_OF_PAGE'
i_save = 'A'
is_variant = x_variant1
it_events = x_event
TABLES
t_outtab = it_alv
EXCEPTIONS
program_error = 1
OTHERS = 2.
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. " display_master_data
FORM USER_COMMAND *
FORM user_command USING ucomm LIKE sy-ucomm selfield
TYPE slis_selfield.
READ TABLE it_alv INTO x_alv INDEX selfield-tabindex.
CLEAR : x_alv2,it_alv2[].
LOOP AT it_alv1 INTO x_alv1 WHERE v_legf1 = x_alv-v_legf.
x_alv2 = x_alv1.
APPEND x_alv2 TO it_alv2 .
ENDLOOP.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv.
DATA : x3_fieldcat LIKE LINE OF it_fieldcat.
CLEAR : x3_fieldcat,it_fieldcat[].
CLEAR x3_fieldcat.
x3_fieldcat-col_pos = '1'.
x3_fieldcat-fieldname = 'V_LEGF1'.
x3_fieldcat-reptext_ddic = text-111.
x3_fieldcat-ref_tabname = 'IT_ALV2'.
APPEND x3_fieldcat TO it_fieldcat.
CLEAR x3_fieldcat.
CLEAR x3_fieldcat.
x3_fieldcat-col_pos = '1'.
x3_fieldcat-fieldname = 'V_MSG'.
x3_fieldcat-reptext_ddic = text-112.
x3_fieldcat-ref_tabname = 'IT_ALV2'.
APPEND x3_fieldcat TO it_fieldcat.
CLEAR x3_fieldcat.
x_layout1-colwidth_optimize = 'X'.
x_layout1-zebra = 'X'.
IF it_alv2[] IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = x_repid2
is_layout = x_layout1
it_fieldcat = it_fieldcat
i_save = 'A'
i_callback_top_of_page = 'TOP'
is_variant = x_variant1
it_events = x_event
TABLES
t_outtab = it_alv2
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDIF.
ENDFORM.
FORM USER_COMMAND *
FORM top.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = 'Commentry'.
ENDFORM.
FORM BUILD_FIELDCAT *
FORM build_fieldcat CHANGING et_fieldcat TYPE slis_t_fieldcat_alv.
DATA: x1_fieldcat TYPE slis_fieldcat_alv.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '1'.
x1_fieldcat-fieldname = 'V_LEGS'.
x1_fieldcat-reptext_ddic = text-108.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '2'.
x1_fieldcat-fieldname = 'SUCCESS'.
x1_fieldcat-key = 'X'.
x1_fieldcat-reptext_ddic = text-109.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '3'.
x1_fieldcat-fieldname = 'V_LEGF'.
x1_fieldcat-key = 'X'.
x1_fieldcat-reptext_ddic = text-110.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
ENDFORM. " build_fieldcat
FORM BUILD_LIST_HEADER *
FORM x_list_header.
DATA: x_list_header1 TYPE slis_listheader.
*-----List Header: type H
CLEAR x_list_header1 .
x_list_header1-typ = 'H'.
x_list_header1-info = text-105.
APPEND x_list_header1 TO x_list_header.
*-----List Key: type S
x_list_header1-typ = 'S'.
x_list_header1-key = text-106.
x_list_header1-info = v_total.
APPEND x_list_header1 TO x_list_header.
*-----List Key: Type S
CLEAR x_list_header1 .
x_list_header1-typ = 'S'.
x_list_header1-key = text-107.
x_list_header1-info = v_succsount.
APPEND x_list_header1 TO x_list_header.
ENDFORM. " build_list_header
FORM TOP_OF_PAGE *
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = x_list_header.
ENDFORM. " TOP_OF_PAGE
Reward points if useful
Anji -
Process create Purchase order for external instructor in training & event
Dear Experts
Need the process create Purchase order for external instructor in training & event management.
Regards
SonaliHi,
for your requirement raise one servoce PO for 1000-00, with item category 'D',
for that line item , it is possible to maintain sub-services line items,
but, it is not possible to maintain raw materials under the service activity ,
if you want to valuate paint cost also, maintain the sub service line item with short description ,
at the time of SES , u can create individual SES, for all sub services,
hope this is helpful,
chenna kesava reddy -
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???????/ -
How to create Purchase order for non valuated material with fright charges
Dear Guru,
When i have creating purchase order for non valuated material then GR non valuated tab should be in display mode.And how to load fright charges.
Regards,
Abhijithi,
while creating the PO, u have the option FREE indicator in the right corner of the line item.(u can have separate Valuation type for the same, for valuation purpose)
even u can create the UNBW material type.
check the material type customization in oms2
hope will get the clarity -
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 -
PO account assignment Q + Purchase order has no items + M7033
Hi All,
I have create a PO with account assignment Q and now when I am trying to post GR to this PO I am getting the error 'Purchase Order has no items' Message number M7033. Please Guide.
Thanks and Regards
PavanFollowing are the reason
Check the confirmation tab ate item level at the purchase order. It should be blank.
Is there any goods receipt ag. this PO, if yes, check the PO history tab at item livel in the PO. Check the pending qty.
It sholud not be deleted PO.
Check the delivery date in the PUrchase order.
Check the release stratagy in the PO. It should be release.
Thanks,
Samir Bhatt -
Transfer of tax indicator to purchase order for service items in shopping cart
Hi all.
I have a problem with the tax indicator in the shopping carts and in the backend purchase orders for service items. If I create a shopping cart with service items with different tax indicators, the backend purchase order have a unique item including all the services. So, all the PO items are under one tax indicator while in the shopping cart there is more than one indicator. I mean, the PO is not correctly replicated with the information of the SC.
Example: shopping cart in SRM with 3 items, tax codes: V1, V2, V1. The standard code transfers the information to the backend, and creates a purchase order with an unique item with the 3 services under tax code V1. So, the second service is not under the correct tax code, and will be wrongly invoiced.
We have debugged all the code of the process, and we think it is a standard bug. When you replicate a PO in the backend from a SC in SRM, have you experienced this behaviour, or the service items are grouped in different PO items each one with the correct tax indicator?
Thanks in advance.Hi again...
I forgot to mention that we have found and applied the note 1822107 (Purchase order: wrong tax code for PO with 2 service items), that fits exactly to our problem. But after testing, it doesn't work.
Regards. -
[Request] Special user-exit we need during creating purchase order
Hi, Gurus!
We need to make specific User-Exit during creating Purchase order.
When user creates/change a PO document (ME21N/22N), SAP has to check the u2018CUSTOMERu2019 filed whether it is BLANK or NOT in Delivery Address tab at ITEM LEVEL.
If there is no value in that field, system will automatically input right value with useru2019s business logic.
Thatu2019s what we want to implement in the future.
If you have any solution or recommendation for this, Please help us.
I really appreciate your help in advance.
Best Rgds;
IanFor checking user exit - SMOD, you need to activate this exit via CMOD
For Badi - SE18 to check & SE19 to implement
Take the help of your abaper, give him / her your logic.
Hope the above answers your query.
Regards,
Vivek -
Not able to create purchase orders
Hi Experts,
I am not able to create purchase order , it is not allowing me to save , I I am giving purchase requisition number in Po and trying to crete po .When i give purchase requistion number all the revelant data is copied and when i click on item level tab of delivery address following error occurs : Address doesn't exist T001W 2000 00010. Then the entire PO is cancelled. not able to save going out of po screen
Please give me your valuable advice so that it can help me in resolving this issue
Please do the need ful
Regards
AyubHi
We had to change the name text of he plant from ABCD COMPANY TO ABCD COMPANY PRIVATE LTD so , we had change and in both name 1:ABCD COMPANY PRIVATE LTD and NAme 2: ABCD COMPANY PRIVATE LTD
but in print out it the plant name appearing twice we decided to to erase name 1 that is we left blank and gave name 2:ABCD COMPANY PRIVATE LTD
But while creatimg Po from req ad the clicking item level adress tab eror pops up , and if i click on error tick mark it will take you out from Po screen
Regards
Ayub
Maybe you are looking for
-
Print preview and print button action
Hi, This is first time when I am configuring any action in WebUi. I am trying to configure buttons on BT116H_SRVO. Clicking on "Print Preview" shows 'No manual print actions found' and click on "print' throws some exception. I tried to check action c
-
Hi Experts, In the selection screen i have 2 radiobuttons.I have 6 fields in my internal table , 5 of which have to be displayed for both the radiobutton options. When i click on the first radiobutton then i should be able to see all the 6 fields, bu
-
How to add the flash plugin in firefox beta linux x86_64
Someone give me the solution in a live chat session so I share it here. If you are testing firefox under linux (x86_64 in my case) and the flash plugin is installed but not detected by firefox, it's probably because you are testing it in a single use
-
Why doesn't the new flash player I downloaded work on my mac?
Hi, I download the last new flash player on my mac under Lion and I can't open some website like adobe websites
-
I been trying to use the audio on ichat and i am getting an bandwith error(not enough bandwith error) Also I try to play the Apple Streaming video and I am getting a Quicktime disconnect 40 error. Is there any connection? and what do I do to fix this