FM to get the sales order data using GI as input
Hi Friends,
I am looking for a way to read the sales order data (document no. )using the Goods issue document no as my input.
basically reading the Docflow in the opposite direction i.e GI -> SO .
If you can suggest a FM which can do so it would be really helpful.
Thanks,
Poonam.
Hi Poonam,
Not FM but I can tell you the Std. way.
Go to SE16 --> Table VBFA --> Enter your goods movement document list in field "Follow-on doc." --> In the feild "Prec.doc.categ." --> choose "C Order" --> Execute
Hope it helps,
Regards,
MT
Similar Messages
-
Fetching the sales order data using both system status and user status
Hi,
Could any one tell me how to fetch sales orders using both system status and user status.
My requirement is to fetch sales order data in a report where the user enters the system status and user status in the selection screen fields.
For example i need sales orders where the system status is I1002 i.e. OPEN and user status is E0002 (status profile CMSCON0) that is In Process
Early replies are appreciated.
Thanks
TanveerHi,
The system status and user status are stored in CRM_JCDS & CRM_JEST tables you can get the all the order GUID on particular status further pass the order GUID in table CRMD_ORDERADM_H to get transaction ID.
Regards,
Dipesh. -
How to know the sales order closed using right click menu -Close ???
I have an sales order with ten item, I have copied the same to delivery and before adding the Delivery I have deleted some items. After adding the Delivery, I manually closed the sales order by using the "right click menu close".
The Open Quantity of those lines are already closed while i Close it manually.
Now i need a report regarding the sales orders which i have closed manually. Any Options??Check the below result
DocNum DocDate CardCode CardName Row# ItemCode Dscription Price Quantity LineTotal
2 2012-02-04 00:00:00.000 ED-C-102 AI HUDHA BOOK STALL 2 1010 150.000000 10.000000 1500.000000
3 2012-02-04 00:00:00.000 ED-C-103 AL AMEEN ENGLISH SCHOOL-MANKADA 2 1011 ZINC ROD HIGH GRADE PURE ZINC 140 X 9 MM 59.790000 10.000000 597.900000
this is the result i get while i execute your query
but look at the db result
DocEntry LineNum TargetType TrgetEntry LineStatus ItemCode Quantity OpenQty
1 0 15 2 C 1010 10.000000 0.000000
2 0 15 3 C 1010 10.000000 0.000000
2 1 -1 NULL C 1010 10.000000 0.000000
3 0 15 4 C 1010 1.000000 0.000000
3 1 -1 NULL C 1011 10.000000 0.000000
3 2 15 4 C 1012 15.000000 0.000000
3 3 15 4 C 1013 20.000000 0.000000
4 0 15 5 O 1010 10.000000 5.000000
See the last line data...it have open quantity of 5 and it also have the target type 15, If I close the sales order with docentry 4 manually using right click, the open quantity will be Zero..
I need that last line result also as my output..
Hope you understand my problem.
Thank You -
Function module or BAPI to get the sales order details.
Hi,
Can any one revert back with the FM or BAPI to get the sales order details.
I tried using BS01_SALESORDER_GETDETAIL, in my driver program of smartform but when i execute the form using VA03 -> Sales Document -> Issue output to -> Print preview, I am getting the required output.
if i see the print preview in the overview of the sales order (enter sales order and press enter), the above specified FM is not populating any data.
Thanks,
PrathapHi Prathap,
The above specified FM BAPISDORDER_GETDETAILEDLIST should work. As you need the item conditions,
Fill the I_BAPI_VIEW with header = 'X', item = 'X' and sdcond = 'X'.
Fill the SALES_DOCUMENTS-vbeln = sales order number.
Regards,
Shylaja -
Calling VA01 from Report,how to get the Sales Order No when Back.
Hi all,
I have a requirement of calling va01 from the report and have done that using
did recording ...&
call transaction va01 using bdcdata.
but my problem is when back from that trasaction i have to get the sales order that is created . Is it possible to retrieve that value from va01 .i am unable to get . anyone pls shareUse the addition MESSAGES INTO itab with call transaction va01 using bdcdata.
Effect of MESSAGES INTO itab:
Using this addition, all the messages sent during batch input processing are stored in an internal table itab of the type BDCMSGCOLL from the ABAP Dictionary.
If the call transaction is successful then retrieve the last message from itab and then in any field among MSGV1,MSGV2,MSGV3,MSGV4 of itab u will get the document no.
And when doing the call transaction pl. choose update mode as 'S' or 'L'.
Regards,
Joy. -
Get the sales order number based on customer number
HI all,
how can i get the sales order numbers based on the customer number?
plz tell me the table names.
thanks,
Srinihiiiii..
go to database table VBAK
where you can find customer id and sales order
use a select statement in your report program
and key as kunnr ...
i hope it does ...the job -
Use SQL function to get the original order number using the invoice number
Hi All,
wondering is someone can help me with this challenge I am having? Often I need to return the original order numbers that created the resulting invoce. This is a relatively simple seriese of joins in a query but I am wanting to simplify it using a SQL function that can be referenced each time easily from with in the SELECT statement. the code i currently have is:
Use SQL function to get the original order number using the invoice number
CREATE FUNCTION dbo.fnOrdersThatMakeInvoice(@InvNum int)
RETURNS nvarchar(200)
AS
BEGIN
DECLARE @OrderList nvarchar(200)
SET @OrderList = ''
SELECT @OrderList = @OrderList + (cast(T6.DocNum AS nvarchar(10)) + ' ')
FROM OINV AS T1 INNER JOIN
INV1 AS T2 ON T1.DocEntry = T2.DocEntry INNER JOIN
DLN1 AS T4 ON T2.BaseEntry = T4.DocEntry AND T2.BaseLine = T4.LineNum INNER JOIN
RDR1 AS T5 ON T4.BaseEntry = T5.DocEntry AND T4.BaseLine = T5.LineNum INNER JOIN
ORDR AS T6 ON T5.DocEntry = T6.DocEntry
WHERE T1.DocNum = @InvNum
RETURN @OrderList
END
it is run by the following query:
Select T1.DocNum, dbo.fnOrdersThatMakeInvoice(T1.DocNum)
From OINV T1
Where T1.DocNum = 'your invoice number here'
The issue is that this returns the order number for all of the lines in the invoice. Only want to see the summary of the order numbers. ie if 3 orders were used to make a 20 line inovice I only want to see the 3 order numbers retuned in the field.
If this was a simple reporting SELECT query I would use SELECT DISTINCT. But I can't do that.
Any ideas?
Thanks,
MikeThanks Gordon,
I am trying to get away from the massive table access list everytime I write a query where I need to access the original order number of the invoice. However, I have managed to solve my own problem with a GROUP BY statement!
Others may be interested so, the code is this:
CREATE FUNCTION dbo.fnOrdersThatMakeInvoice(@InvNum int)
RETURNS nvarchar(200)
AS
BEGIN
DECLARE @OrderList nvarchar(200)
SET @OrderList = ''
SELECT @OrderList = @OrderList + (cast(T6.DocNum AS nvarchar(10)) + ' ')
FROM OINV AS T1 INNER JOIN
INV1 AS T2 ON T1.DocEntry = T2.DocEntry INNER JOIN
DLN1 AS T4 ON T2.BaseEntry = T4.DocEntry AND T2.BaseLine = T4.LineNum INNER JOIN
RDR1 AS T5 ON T4.BaseEntry = T5.DocEntry AND T4.BaseLine = T5.LineNum INNER JOIN
ORDR AS T6 ON T5.DocEntry = T6.DocEntry
WHERE T1.DocNum = @InvNum
GROUP BY T6.DocNum
RETURN @OrderList
END
and to call it use this:
Select T1.DocNum, dbo.fnOrdersThatMakeInvoice(T1.DocNum)
From OINV T1
Where T1.DocNum = 'your invoice number' -
Get the Sales Order number from Service Notification
Hi Experts,
Please let me know if there are any BAPI's or standard Function modules to get the Sales order for a given Service Notification number.
Thanks a lotHi Ashish,
Hope the listed BAPI's let you solve the issue:
BAPI_SERVNOT_CLOSE Complete service notification
BAPI_SERVNOT_CREATE Create service notification
BAPI_SERVNOT_DEL_DATA Delete Items, Causes, Activities, Tasks, Partners of the service notif.
BAPI_SERVNOT_GET_DETAIL Get details about a service notification
BAPI_SERVNOT_MODIFY_DATA Modify a service notification or associated subdata
BAPI_SERVNOT_POSTPONE Postpone service notification
BAPI_SERVNOT_PUTINPROGRESS Put in process a service notification
BAPI_SERVNOT_SAVE Save service notification
BAPI_SERVICENOTIFICAT_CREATE Create service notification
BAPI_SERVICENOTIFICAT_GETLIST Select service notifications according to customer or contact person
BAPI_SERVNOT_CHANGEUSRSTAT Change the user status of a service notification
Regards,
Soundarya. -
Sales Order Upload using IDOC : Batch Input error
Hi all
When I am uploading sales order data using <b>idoc</b> method it was giving the below error when the Items are more than 10,if the items are less than 10 it was creating the sales order successfully.
<b>Screen 0000 is too large for internal batch input area</b>
for upload I am using the standard Meassege type and Basic idoc type
Message type : ORDERS
Basic idoc type : ORDERS05
Function Module : idoc_input_orders(ORDE)
Please help if there is any Idea
Thanks in Advance
Warm regards
RajasekharHi Madhu,
This error might be due to screen resolution. Try to reduce screen resolution and run your program.
Cheers
Manohar -
Get the sales order text from ITS and save it in SAP.
Hi,
I have created an application to create sales order from ITS. In this app i'm having a text field to fet the header text for the order. & after that I'm calling an RFC which has a BAPI to create the sales order.
Now, when i enter the text for header texts in frontend (separated by ENTER), then it saves only the first line of the text.
I've tried using :
SPLIT ordernotes AT cl_abap_char_utilities=>cr_lf INTO TABLE t_ordnotes.
and using FM: CREATE_TEXT,
but still, it is saving only the first line.
Can anyone please help me with this ?????
Its urgent.
Thanks in advance,
Hemant.Hi
See the sample BDC program that is used to upload the Material LONG Texts into SAP using MM01 Tcode
check this may be helpful
REPORT zmm_longtext
NO STANDARD PAGE HEADING
LINE-SIZE 255.
Internal Table for Upload of Long Texts Data
DATA: BEGIN OF itab1 OCCURS 0,
matnr LIKE mara-matnr, " Material
text LIKE tline-tdline, " Long Text
END OF itab1.
Internal Table for Upload of Long Texts Data
DATA: BEGIN OF itab OCCURS 0,
matnr LIKE mara-matnr, " Material
text LIKE tline-tdline, " Long Text
END OF itab.
To create Long Text lines for CREATE_TEXT function module
DATA:BEGIN OF dt_lines OCCURS 0.
INCLUDE STRUCTURE tline. " Long Text
DATA:END OF dt_lines.
Variable declarations for CREATE_TEXT function module
DATA : dl_name TYPE thead-tdname, " Object Name
dl_lan TYPE thead-tdspras, " Language
gv_matnr TYPE matnr.
Constants
CONSTANTS:
Object ID for Long Text of Material Basic Data 1
c_best TYPE thead-tdid VALUE 'GRUN',
c_material TYPE thead-tdobject VALUE 'MATERIAL'. " Object
Parameters
PARAMETERS p_file LIKE rlgrap-filename.
At selection-screen on Value Request for file Name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
Get the F4 Values for the File
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
Start Of Selection
START-OF-SELECTION.
*To Upload Flat file
CALL FUNCTION 'UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = itab1
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
SORT itab1 BY matnr.
LOOP AT itab1.
CLEAR gv_matnr.
SELECT SINGLE matnr INTO gv_matnr
FROM mara WHERE bismt = itab1-matnr.
IF itab1-text NE ' '.
itab-matnr = gv_matnr.
itab-text = itab1-text.
APPEND itab.
ENDIF.
CLEAR itab.
ENDLOOP.
DELETE itab WHERE matnr EQ ' '.
Upload the Texts
SORT itab BY matnr.
LOOP AT itab.
dt_lines-tdformat = 'ST'.
dt_lines-tdline = itab-text.
APPEND dt_lines.
dl_lan = sy-langu.
dl_name = itab-matnr.
Call the Function Module to Create Text
CALL FUNCTION 'CREATE_TEXT'
EXPORTING
fid = c_best
flanguage = dl_lan
fname = dl_name
fobject = c_material
save_direct = 'X'
fformat = '*'
TABLES
flines = dt_lines
EXCEPTIONS
no_init = 1
no_save = 2
OTHERS = 3.
IF sy-subrc <> 0.
WRITE:/ 'Long Text Creation failed for Material'(001),
itab-matnr.
ELSE.
WRITE:/ 'Long Text Created Successfully for Material'(002),
itab-matnr.
ENDIF.
AT END OF matnr.
REFRESH dt_lines.
ENDAT.
ENDLOOP.
<b>Reward points for useful Answers</b>
Regards
Anji -
BAPI to get the Sales order line item details
Hi,
My program gets Sale sorder and item as the input and I need to fetch all the item (Given item) details for this Sales Order from VBAP. Is there any BAPI to get the item details?Hi,
This is a sample code of BAPI.Try to map it to your requirement.This is not related to vendor.This is related to sales order.
Constants
CONSTANTS: c_contract LIKE vbak-vbeln VALUE '0020000720',
c_item LIKE vbap-posnr VALUE '000010'.
Structures
Structure to hold BAPI Header
DATA: st_bapisdhd1 LIKE bapisdhd1.
Internal Tables
Sales Order Create BAPI Return Messages
DATA: tbl_return TYPE STANDARD TABLE OF bapiret2
WITH HEADER LINE.
Sales Order BAPI Line Item
DATA: tbl_bapisditm TYPE STANDARD TABLE OF bapisditm
WITH HEADER LINE.
Sales Order BAPI Line Item
DATA: tbl_bapisditmx TYPE STANDARD TABLE OF bapisditmx
WITH HEADER LINE.
Sales Order BAPI Pricing Conditions
DATA: tbl_bapicond TYPE STANDARD TABLE OF bapicond
WITH HEADER LINE.
Sales Order BAPI Partner Functions
DATA: tbl_bapiparnr TYPE STANDARD TABLE OF bapiparnr
WITH HEADER LINE.
Sales Order BAPI Schedule Lines
DATA: tbl_bapischdl TYPE STANDARD TABLE OF bapischdl
WITH HEADER LINE.
Sales Order BAPI Schedule Lines
DATA: tbl_bapischdlx TYPE STANDARD TABLE OF bapischdlx
WITH HEADER LINE.
Sales Order BAPI Pricing Conditions
DATA: tbl_bapicondx TYPE STANDARD TABLE OF bapicondx
WITH HEADER LINE.
Customer Enhancement for VBAK, VBAP, VBEP
DATA: tbl_bapiparex TYPE STANDARD TABLE OF bapiparex
WITH HEADER LINE.
Table to hold BAPI Detail Conditions
DATA: tbl_bapisdcond TYPE STANDARD TABLE OF bapisdcond
WITH HEADER LINE.
Table to hold Return Messages from Sales Order Change BAPI
DATA: tbl_return_chg TYPE STANDARD TABLE OF bapiret2
WITH HEADER LINE.
Variables
DATA: g_vbeln_created LIKE vbak-vbeln,
g_valid_contract TYPE c,
g_cont_price_date TYPE d.
Start of Selection
START-OF-SELECTION.
PERFORM validate_contract.
PERFORM create_sales_ord.
PERFORM update_sales_ord.
End of Selection
END-OF-SELECTION.
PERFORM write_output_report.
Subroutines
*& Form create_sales_ord
Create the Sales Order
FORM create_sales_ord .
PERFORM populate_bapi_tables.
PERFORM call_create_sales_ord_bapi.
ENDFORM. " create_sales_ord
*& Form populate_bapi_tables
Fill up the BAPI Tables
FORM populate_bapi_tables .
PERFORM populate_bapi_header.
PERFORM build_bapi_partners.
PERFORM build_bapi_items.
PERFORM build_bapi_sched_lines.
ENDFORM. " populate_bapi_tables
*& Form populate_bapi_header
Build BAPI Header Details
FORM populate_bapi_header .
CLEAR st_bapisdhd1.
st_bapisdhd1-doc_type = 'ZOC'. "Order type
st_bapisdhd1-sales_org = '026'. "Sales Org
st_bapisdhd1-distr_chan = '00'. "Dist Channel
st_bapisdhd1-division = '00'. "Division
st_bapisdhd1-purch_no_c = 'Cust Po No'. "Cust PO No
st_bapisdhd1-name = 'Orderer'. "Name of Orderer
st_bapisdhd1-ord_reason = ''. "Order Reason
st_bapisdhd1-sales_off = '3001'. "Sales Office
st_bapisdhd1-sales_grp = '301'. "Market Area
IF g_valid_contract = 'X'.
st_bapisdhd1-price_date = g_cont_price_date.
ENDIF.
ENDFORM. " populate_bapi_header
*& Form build_bapi_partners
Build BAPI Partner Functions
FORM build_bapi_partners .
CLEAR tbl_bapiparnr.
tbl_bapiparnr-partn_role = 'AG'.
tbl_bapiparnr-partn_numb = '0000100750'.
APPEND tbl_bapiparnr.
CLEAR tbl_bapiparnr.
tbl_bapiparnr-partn_role = 'WE'.
tbl_bapiparnr-partn_numb = '0000504472'.
APPEND tbl_bapiparnr.
ENDFORM. " build_bapi_partners
*& Form build_bapi_items
Build The BAPI Line Items
FORM build_bapi_items .
DATA: l_matnr LIKE mara-matnr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = '10000072'
IMPORTING
output = l_matnr.
CLEAR tbl_bapisditm.
tbl_bapisditm-itm_number = c_item.
IF g_valid_contract = 'X'.
tbl_bapisditm-ref_doc = c_contract.
tbl_bapisditm-ref_doc_it = c_item.
tbl_bapisditm-ref_doc_ca = 'G'. "Contract
ENDIF.
tbl_bapisditm-material = l_matnr.
tbl_bapisditm-plant = '3012'.
tbl_bapisditm-target_qty = '5.000'.
tbl_bapisditm-target_qu = 'M3'.
tbl_bapisditm-item_categ = 'ZZOC'.
tbl_bapisditm-sales_dist = '301'.
tbl_bapisditm-dlv_prio = '02'.
tbl_bapisditm-prc_group5 = '080'.
tbl_bapisditm-cust_mat35 = 'kdmat'.
tbl_bapisditm-route = 'TESYS'.
tbl_bapisditm-usage_ind = 'CIV'.
APPEND tbl_bapisditm.
CLEAR tbl_bapisditmx.
tbl_bapisditmx-itm_number = c_item.
tbl_bapisditmx-ref_doc = 'X'.
tbl_bapisditmx-ref_doc_it = 'X'.
tbl_bapisditmx-ref_doc_ca = 'X'.
tbl_bapisditmx-material = 'X'.
tbl_bapisditmx-updateflag = 'I'.
tbl_bapisditmx-plant = 'X'.
tbl_bapisditmx-target_qty = 'X'.
tbl_bapisditmx-target_qu = 'X'.
tbl_bapisditmx-item_categ = 'X'.
tbl_bapisditmx-sales_dist = 'X'.
tbl_bapisditmx-dlv_prio = 'X'.
tbl_bapisditmx-prc_group5 = 'X'.
tbl_bapisditmx-cust_mat35 = 'X'.
tbl_bapisditmx-usage_ind = 'X'.
tbl_bapisditmx-route = 'X'.
APPEND tbl_bapisditmx.
ENDFORM. " build_bapi_items
*& Form build_bapi_sched_lines
Build the BAPI Schedule Lines
FORM build_bapi_sched_lines .
CLEAR tbl_bapischdl.
tbl_bapischdl-itm_number = c_item.
tbl_bapischdl-req_qty = '1'.
tbl_bapischdl-req_date = sy-datum.
APPEND tbl_bapischdl.
ENDFORM. " build_bapi_sched_lines
*& Form build_bapi_conditions
Pull the BAPI Pricing Conditions from the Contract
FORM build_bapi_conditions .
LOOP AT tbl_bapisdcond.
CLEAR tbl_bapicond.
MOVE-CORRESPONDING tbl_bapisdcond TO tbl_bapicond.
APPEND tbl_bapicond.
CLEAR tbl_bapicondx.
tbl_bapicondx-itm_number = tbl_bapicond-itm_number.
tbl_bapicondx-cond_st_no = tbl_bapicond-cond_st_no.
tbl_bapicondx-cond_count = tbl_bapicond-cond_count.
tbl_bapicondx-cond_type = tbl_bapicond-cond_type.
tbl_bapicondx-updateflag = 'I'.
tbl_bapicondx-cond_value = 'X'.
tbl_bapicondx-currency = 'X'.
tbl_bapicondx-cond_unit = 'X'.
tbl_bapicondx-cond_p_unt = 'X'.
tbl_bapicondx-varcond = tbl_bapicond-varcond.
APPEND tbl_bapicondx.
ENDLOOP.
ENDFORM. " build_bapi_conditions
*& Form call_create_sales_ord_bapi
Call the Sales Order Create BAPI
FORM call_create_sales_ord_bapi .
CLEAR g_vbeln_created.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = st_bapisdhd1
IMPORTING
salesdocument = g_vbeln_created
TABLES
return = tbl_return
order_items_in = tbl_bapisditm
order_items_inx = tbl_bapisditmx
order_partners = tbl_bapiparnr
order_schedules_in = tbl_bapischdl.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDFORM. " call_create_sales_ord_bapi
*& Form update_sales_ord
Update the newly created Sales Order with the Pricing Conditions
from the Contract
FORM update_sales_ord .
CHECK g_valid_contract EQ 'X'.
PERFORM get_contract_details.
PERFORM build_bapi_conditions.
PERFORM call_change_sales_ord_bapi.
ENDFORM. " update_sales_ord
*& Form get_contract_details
Get Contract Details
FORM get_contract_details .
Need to manually get the relevant Pricing Conditions as the BAPI
BAPISDORDER_GETDETAILEDLIST causes problems when we call the BAPI
BAPI_SALESORDER_CREATEFROMDAT2 and BAPI_SALESORDER_CHANGE (I think
this is due to the fact that these BAPIs belong to the same Function
Group and there must be some common structures that are not cleared
causing us all sorts of grief when we try and call the next BAPI)
DATA: tbl_konv TYPE STANDARD TABLE OF konv WITH HEADER LINE.
DATA: tbl_komv TYPE STANDARD TABLE OF komv WITH HEADER LINE.
DATA: tbl_vbak TYPE STANDARD TABLE OF vbak WITH HEADER LINE.
Pricing Condition Master
DATA: BEGIN OF tbl_t685a OCCURS 0,
kschl LIKE t685a-kschl,
kaend_wrt LIKE t685a-kaend_wrt,
END OF tbl_t685a.
SELECT *
INTO TABLE tbl_vbak
FROM vbak
WHERE vbeln = c_contract.
READ TABLE tbl_vbak INDEX 1.
SELECT *
INTO TABLE tbl_konv
FROM konv
WHERE knumv = tbl_vbak-knumv AND
kposn = c_item.
CHECK sy-subrc EQ 0.
We now need to make sure we only bring across the Condition Types that
are EDITABLE. If we bring across non editable conditions (such as
'ZPR1') the Change Sales Order BAPI will fail
SELECT kschl kaend_wrt
INTO TABLE tbl_t685a
FROM t685a
FOR ALL ENTRIES IN tbl_konv
WHERE kappl EQ 'V' AND "Sales
kschl EQ tbl_konv-kschl AND
kaend_wrt EQ 'X' AND "Value is Editable
kmanu NE 'D'. "Process manually
Prepare for Binary Search
SORT tbl_t685a BY kschl.
LOOP AT tbl_konv.
READ TABLE tbl_t685a WITH KEY kschl = tbl_konv-kschl BINARY SEARCH.
IF sy-subrc EQ 0.
MOVE-CORRESPONDING tbl_konv TO tbl_komv.
APPEND tbl_komv.
ENDIF.
ENDLOOP.
CHECK NOT tbl_komv[] IS INITIAL.
Map KOMV into the more BAPI friendly BAPISDCOND structure
CALL FUNCTION 'MAP_INT_TO_EXT_STRUCTURE'
TABLES
fxvbak = tbl_vbak
fxkomv = tbl_komv
fxbapikomv = tbl_bapisdcond
EXCEPTIONS
entry_missing = 1
OTHERS = 2.
ENDFORM. " get_contract_details
*& Form call_change_sales_ord_bapi
Call the Change Sales Order BAPI
FORM call_change_sales_ord_bapi .
DATA: st_head_chg LIKE bapisdh1x,
st_logic_switch TYPE bapisdls.
CHECK NOT g_vbeln_created IS INITIAL.
CHECK g_valid_contract EQ 'X'.
st_head_chg-updateflag = 'U'.
st_logic_switch-cond_handl = 'X'.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = g_vbeln_created
order_header_inx = st_head_chg
logic_switch = st_logic_switch
TABLES
return = tbl_return_chg
conditions_in = tbl_bapicond
conditions_inx = tbl_bapicondx.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDFORM. " call_change_sales_ord_bapi
*& Form write_output_report
Produce Output Report
FORM write_output_report .
IF NOT g_vbeln_created IS INITIAL.
WRITE:/ 'Success! Sales Order', g_vbeln_created, 'was created!'.
ELSE.
WRITE:/ 'Failure! Sales Order was not created!'.
ENDIF.
SKIP.
WRITE:/ 'Sales Order Create Log'.
LOOP AT tbl_return.
WRITE:/ tbl_return-type, tbl_return-id, tbl_return-number,
tbl_return-message.
ENDLOOP.
SKIP.
WRITE:/ 'Sales Order Change Log'.
LOOP AT tbl_return_chg.
WRITE:/ tbl_return_chg-type, tbl_return_chg-id,
tbl_return_chg-number, tbl_return_chg-message.
ENDLOOP.
ENDFORM. " write_output_report
*& Form validate_contract
Make sure that the Contract is Valid
FORM validate_contract .
DATA: l_gueen LIKE vbak-gueen,
l_prsdt LIKE vbkd-prsdt.
SELECT SINGLE vbakgueen vbkdprsdt
INTO (l_gueen, l_prsdt)
FROM vbak
INNER JOIN vbkd
ON vbakvbeln = vbkdvbeln
WHERE vbak~vbeln = c_contract AND
vbkd~posnr = '000000'.
IF sy-datum LE l_gueen.
Contract is valid! Set Order Price Date
g_valid_contract = 'X'.
g_cont_price_date = l_prsdt.
ENDIF.
ENDFORM. " validate_contract
Regards
Rajesh Kumar -
Need to create the sales order by using FM; crm_order_maintain
Dear Expert's.
can any body help me on creation of sales order by using FM; crm_order_maintain.
Regards,
Tanveer.Ahmeddata: et_status type crmt_status_comt,
es_status type crmt_status_com,
ct_orderadm_h type crmt_orderadm_h_comt,
cs_orderadm_h type crmt_orderadm_h_com,
ct_orderadm_i type crmt_orderadm_i_comt,
cs_orderadm_i type crmt_orderadm_i_com,
ct_input_fields type crmt_input_field_tab,
cs_input_fields type crmt_input_field,
it_exception type crmt_exception_t.
data: gt_crmd_orderadm_h like crmd_orderadm_h occurs 0,
gs_crmd_orderadm_h type crmd_orderadm_h.
data: et_objects_to_save type crmt_object_guid_tab,
es_objects_to_save type crmt_object_guid.
data: it_saved_objects type crmt_return_objects.
data: gt_field_names type crmt_input_field_names_tab,
gs_field_names type crmt_input_field_names.
data: cv_log_handle type balloghndl.
select single * from crmd_orderadm_h into gs_crmd_orderadm_h
where object_id = '0005000400'.
es_objects_to_save = gs_crmd_orderadm_h-guid.
append es_objects_to_save to et_objects_to_save .
es_status-ref_guid = gs_crmd_orderadm_h-guid.
es_status-ref_kind = 'A'.
es_status-status = 'E0010'.
es_status-user_stat_proc = 'ZPR01'.
es_status-activate = 'X'.
append es_status to et_status.
cs_input_fields-ref_guid = gs_crmd_orderadm_h-guid.
cs_input_fields-ref_kind = 'A'.
cs_input_fields-objectname = 'STATUS'.
cs_input_fields-logical_key = 'E0010ZPRO1'.
gs_field_names-fieldname = 'ACTIVATE'.
append gs_field_names to gt_field_names.
cs_input_fields-field_names = gt_field_names[].
append cs_input_fields to ct_input_fields.
call function 'CRM_ORDER_MAINTAIN'
exporting
it_status = et_status
importing
et_exception = it_exception
changing
ct_orderadm_h = ct_orderadm_h
ct_orderadm_i = ct_orderadm_i
ct_input_fields = ct_input_fields
exceptions
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
others = 5.
if sy-subrc = 0.
call function 'CRM_ORDER_SAVE'
exporting
it_objects_to_save = et_objects_to_save
importing
et_saved_objects = it_saved_objects
changing
cv_log_handle = cv_log_handle
exceptions
document_not_saved = 1
others = 2.
commit work.
endif. -
How do I get the Sales Orders Statuses? Is there any API for that?
Hi!
I'm trying to track all the statuses of a sales order. I want to get the header status, lines status, holds status, shipping status and the invoiced status.
Does anyone knows if there is an API for that? Or I'll have to make lots of querys for that?
I found out the following APIs, but it only returned me Y or N:
-oe_header_status_pub.get_booked_status;
-oe_header_status_pub.get_cancelled_status;
-oe_header_status_pub.get_closed_status;
-oe_holds_pub.check_holds;
-oe_line_status_pub.get_pick_status;
-oe_line_status_pub.get_ship_status;
-oe_line_status_pub.get_invoiced_status;
Thanks for the help!Hi,
You can find the status of both SO Headers ahd Lines from the FLOW_STATUS_CODE column in oe_order_headers_all and oe_order_lines_all tables.
Thanks
Gowrishankar -
Do we have any BAPI to get the sales contracts data.
Hi Experts,
Do we have any BAPI which fetches sales contracts details as i need to post a new contract based on that data from the legacy system which is also in SAP.
Hoping an answer soon.
Chitrasenhi,
u can check all bapis available for sales in se37, searching by BAPI_SALE.
Here u can check for ur required bapi... -
How to get sales order data in substitution of fi-docu from GM posting ?
How to get sales order data in substitution of FI documents from goods movement posting?
When I posting a material document with movement type "501E", the system will creating a FI document automatically. And I need to get the sales order data in the substitution of FI document.
I tried to export the data of the material document in user-exit "MB_CF001 Updating of material document data upon posting", but this user-exit does not triggered in the posting process at all. what's the problem?
Do you have better solution or idea for this? Please help me. Thank you!Hello Harish,
Please use BAPI_BUSPROCESSND_GETDETAILMUL to read details of sales order. This works as a remote enabled counterpart of CRM_ORDER_READ.
Similarly if you want to display sales order from R/3, use FM BAPI_BUSPROCESSND_DISPLAY.
Regards
Kaushal
Maybe you are looking for
-
My exchange email no longer works
I have deleted my email account countless times but still it will not connect to the server. I took it to the Apple shop who said as a last resort reset the phone to factory setting. So I backed up my phone to icloud and wiped it and still my email w
-
I have a course that's made up of a series of hyperlinked swfs and html files. There are also some flvs and pdfs in this. We had to design it in this format (vs. pdf or exe) because of our customer's special requirements. To try to make a long story
-
I'm pulling at my hair!! When I try to download an application in itunes onto my MacBook, itunes says that I need to review my account information than redirects me to a page asking for my payment method. After I am done it redirects me back to the s
-
Cannot hear/monitor Centrance Micport Pro w/mic as input
LP8 Audio preferences shows CEntrance device as input. LP8 Audio Midi Setup shows input as Centrance device. Audio channel on record, with Input monitoring selected/record armed. Cannot see or hear mic input through Mixer.
-
Hi everyone! I want to know if it's posible to group the rows from a query into a unique row. Example: SELECT Field_1 FROM Table_1 Returns the following fileds: Field_1 A B C D I would want to modify my query so that the result obtained would be a si