Mapping from nested to one table (sales order) XML to IDOC
Hello,
I have to map a xml file to the IDOC SALESORDER_CREATEFROMDAT2.SALESORDER_CREATEFROMDAT202.
How I can map the the longtext from the XML file to the IDOC struktur.
Part of the XML file, there could be n times BPosition with n times longtext. The longtext must be map with a table. I some case its a mapping from nested to mornal table.
<BPosition>
<lpos>1</lpos>
<bbl_sap_nr/>
<milvonr/>
<kurztitel/>
<anzbest/>
<anzliefer/>
<kostenpflichtig/>
<longtext>
<line>pos1 zeile1</line>
<line>pos1 zeile 2</line>
</longtext>
</BPosition>
thanks for your help.
Hi, I have to map this 1 XML to 1 IDOC
XML:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_Milver xmlns:ns0="http://ccssap.bfi.admin.ch/milver">
<bestellung>
<besteller>
<bestellnr/>
<auftragdefit/>
<wempfdebit/>
<bestelldat/>
<lieferdat/>
<anzpos/>
<language/>
<adrzeile1/>
<adrzeile2/>
<adrzeile3/>
<adrzeile4/>
</besteller>
<Kopf>
<Lkopf>Kopf1 zeile1</Lkopf>
<Lkopf>Kopf1 zeile2</Lkopf>
</Kopf>
<BPosition>
<lpos>1</lpos>
<matnr/>
<milvonr/>
<kurztitel/>
<anzbest/>
<anzliefer/>
<kostenpflichtig/>
<bemerkung>
<line>pos1 zeile1</line>
<line>pos1 zeile 2</line>
</bemerkung>
</BPosition>
<BPosition>
<lpos>2</lpos>
<matnr/>
<milvonr/>
<kurztitel/>
<anzbest/>
<anzliefer/>
<kostenpflichtig/>
<bemerkung>
<line>pos2 zeile1</line>
<line>pos2 zeile 2</line>
</bemerkung>
</BPosition>
</bestellung>
</ns0:MT_Milver>
IDOC:
The Idoc have a segment for the longtext (table).I have to map, lpos, line into E1BPSDTEXT from SALESORDER_CREATEFROMDAT2. Its now more clear?
Similar Messages
-
COPA : Drive Item Category from billing doc. / without sales order
Dear All ,
I need to drive item category directly from billing document ( billing without sales order - POS inbound doc. )
i tried to drive it from table VBRP but the derivation failed as table VBRP need the billing doc. number & i can't get it from COPA
POS does not create any sales order , the in coming inbound doc. create billing directly ( billing type : FP ).
Edited by: Ahmed Hassan on May 25, 2011 2:28 PMHi Jat
This is not the screen I am looking for .Please go to condition tab and look for Analysis .Let me know on what excess you are looking system to find your pricing .
Below are are reference for u.
Regards -
How to restrict the user from making any changes in Sales order- item level
Hi to all
How to restrict the users from making any changes in sales order at item level if the same sales order is released by senior user through status profile.
Regards
Anish Parikh
Edited by: anish parikh on Jan 24, 2008 5:16 AMHi Anish,
This can be achieved through the roles and authorization.
This can be done through the basis team. they can create user profiles and roles.
For the roles they assign some transaction codes so that they can view the only assigned tr. codes.
Like that ur requirement can be done.
Also u can prevent the user to change any fields in the sales order screen (VA02). for that please modify the authorisations.
Hope i answers.
Reward points if useful.
Edited by: kaleeswaran bhoopathy on Jan 24, 2008 9:57 AM -
JDBC-XI-FILE scenario. How to extract data from more than one table in JDBC
Hi,
I was asked a question like in JDBC-XI-FILE scenario........ How to extract data from more than one tables (i.e from JDBC system) ?? What is the logic to do the same ??
I am not sure whether this is a valid question..........but any help in this regards is highly appreciated.
Regards
KumarHI,
Yes it can be possible ,please see the following links
JDBC Receiver with Oracle Stored Procedures
configuring jdbc adapter with multiple tables
RFC -> XI -> JDBC Scenario Updating Multiple Tables
/people/alessandro.berta/blog/2005/10/04/save-time-with-generalized-jdbc-datatypes
JDBC Adapter multiple Selects
https://www.sdn.sap.com/irj/sdn/advancedsearch?query=jdbc%20with%20multiple%20tables&cat=sdn_all
Regards
Chilla.. -
Copy mode of payment from customer master data to sales order,
Hi Gurus,
Hope all is fine.
I have a small doubt. If we want to transfer the mode of payment from customer master data to sales order, do we have to use Exit- MV45AFZZ.
Can't we transfer the data without the exit?Hi,
I have tested this in sand box.Thought the customer master is having payment method ( payer ) ,It is not copying from customer master to sales order but if you maintain manually in sales order ,it is copying into billing document level.FYI see below snap shot.
Note:If you want it from customer master into sales order,may be you need to take help of abaper on this.
BR's,
Naren -
Sales Order no and IDOC No Link table for Sales Out bound IDOC ORDRSP
Hi Friends
How to find Sales Order no and IDOC No Link table for Sales Out bound IDOC ORDRSP.
Thanks in Advance.
SRHi
If the idoc is managed by message, the link are stored in GOS (Obeject Service)
U can try to use the function module NREL_GET_NEIGHBOURHOOD
If you put
IS_OBJECT-OBJKEY = <sales document>
IS_OBJECT-OBJTYPE = <business object> (I think BUS2032)
the function returns the idoc
or if you put
IS_OBJECT-OBJKEY = <idoc number>
IS_OBJECT-OBJTYPE = <business object> (I think IDOC)
the function returns the sales order
You can investigate that function module in order to find out the tables
Max -
Purchase Order triggering Sales Order using Inbound Idocs
Hi All,
Can any one explain the flow of Purchase Order triggering Sales Order using Inbound Idocs..??
Thanks & Regards
AnoopUse search tool to find sample like Integrating MM & SD Modules in Same Client to Create Sales order in Supplying Company Code Using PO raised in Receiving Company Code By I-Doc Message Type ORDERS Part1, Part 2 and Part 3.
Regards,
Raymond -
Steps for Sales order creation via IDOC
Hi,
I am getting a file on the application server ,which is a purchase order IDoc outbound from another SAP system. I need to use this file to create a sales order through an IDOC in my SAP system. What are the various settings and steps need to be undertaken to achieve this?
Regards
NishantNishant,
This is NOT the way IDOCS are to be used. When you want to communicate between two SAP systems, you recieve a info from a middleware you use IDOCS.
Here if you want you can read the data and call the concerened BAPI, to create the Sales order.
regards,
Ravi
Note : Please mark the helpful answers -
Invoice creation with reference to Sales Order no in IDoc
Hi Guys,
Is it possible to create a Invoice with reference to the sales order no in IDOC
Regards
Sathis.Hi,
Use FM rv_invoice_create.
BR,
Lokeswari. -
Hello Experts,
I have been assigned to a CRM-UI Object which is basically to create follow-up action i.e. creating debit/credit memos with reference of one/multiple billing documents.
SAP has already provided an option to create the follow-up action for 1 billing document at a time, but the requirement is to create follow-up action for multiple billing documents at a time. For example, There are 2 invoices raised against a dealer "DEL" and due to some reason the dealer wants to send back the products.
Now the dealer wants to create only 1 claim/return for those 2 invoices, Which Standard SAP doesn't provide.
I did some of the development and added the 'Follow-up create' Button to the search result work area of the billing search. But could not able to build the link between the Billing and Sales order Components.
It would be really a great favor if you can guide me to build this navigation link.
Please let me know if any further information required.
Please find the attachment for step-by-step process.
Codes and Configs:
Method DO_PREPARE_OUTPUT to provide the “Follow-up Create” Button
method DO_PREPARE_OUTPUT.
CALL METHOD SUPER->DO_PREPARE_OUTPUT .
DATA:
lr_coco TYPE REF TO cl_beabds_b_bspwdcomponen_impl,
ls_button TYPE crmt_thtmlb_button,
lv_usage TYPE string,
lv_info TYPE string,
lv_info_transfert TYPE string,
lv_show_btn_transfer TYPE boolean VALUE abap_false,
lv_show_btn_cancel TYPE boolean VALUE abap_false,
lv_show_btn_split TYPE boolean VALUE abap_false,
lv_show_btn_create TYPE boolean VALUE abap_false,
lr_col TYPE REF TO if_bol_bo_col,
lv_show_separator TYPE abap_bool,
lv_num_marked TYPE i,
lr_entity TYPE REF TO if_bol_bo_property_access,
lv_appl TYPE bea_appl_ubd.
lr_coco ?= comp_controller.
lr_col = me->typed_context->ubdheader->collection_wrapper->get_marked( ).
lv_num_marked = lr_col->size( ).
* Decide based on the usage which buttons should appear, others are not shown by default
CALL METHOD lr_coco->get_env_info
IMPORTING
ev_usage = lv_usage
ev_info = lv_info
ev_info_transfert = lv_info_transfert.
CASE lv_usage.
WHEN cl_beabds_b_bspwdcomponen_impl=>gc_usage_search_result.
IF lv_info_transfert = cl_beabds_b_bspwdcomponen_impl=>gc_inf_trans_search_result.
lv_show_btn_create = abap_true.
lv_show_separator = abap_true.
ENDIF.
ENDCASE.
if lv_show_btn_create = abap_true.
* Separator between two buttons if needed
IF lv_show_separator = abap_true.
CLEAR ls_button.
ls_button-type = cl_thtmlb_util=>gc_separator.
APPEND ls_button TO gt_buttons.
lv_show_separator = abap_false.
ENDIF.
CLEAR ls_button.
IF lv_num_marked > 0.
ls_button-enabled = abap_true.
ELSE.
ls_button-enabled = abap_false.
ENDIF.
ls_button-text = text-001.
ls_button-id = 'BTN_CREATE'. "#EC NOTEXT
ls_button-on_click = 'CREATE'. "#EC NOTEXT
APPEND ls_button TO gt_buttons.
lv_show_separator = abap_true.
ENDIF.
endmethod.
METHOD eh_oncreate.
* Added by wizard: Handler for event 'CREATE'
TYPES: BEGIN OF ty_trans,
process_type TYPE crmt_process_type,
proc_type_descr_20 TYPE crmt_description_20,
subobject_category TYPE crmt_subobject_category,
subob_cat_descr_20 TYPE crmt_description_20,
END OF ty_trans.
DATA: lt_trans TYPE STANDARD TABLE OF ty_trans ,
ls_trans TYPE ty_trans ,
lv_ref_struct TYPE REF TO ty_trans.
DATA:
lv_struct_ref TYPE REF TO crmt_extbt_il_header_ref,
lv_value_node TYPE REF TO cl_bsp_wd_value_node,
lr_ent TYPE REF TO if_bol_bo_property_access,
lv_bo_coll TYPE REF TO if_bol_bo_col,
ls_ref_header TYPE crmt_extbt_il_header_ref,
lv_title TYPE string,
lr_comp_ctrl TYPE REF TO cl_beabds_b_bspwdcomponen_impl,
lr_cw TYPE REF TO cl_bsp_wd_collection_wrapper,
lr_col TYPE REF TO if_bol_bo_col,
lr_col_proc TYPE REF TO if_bol_bo_col,
lr_bo TYPE REF TO cl_crm_bol_entity.
IF gv_fu_popup IS NOT BOUND.
lv_title = cl_wd_utilities=>get_otr_text_by_alias( 'CRM_UIU_BT/FOLLOW_UP' ).
gv_fu_popup = comp_controller->window_manager->create_popup(
iv_interface_view_name = 'MainWindow'
iv_usage_name = 'UCBTEXTFOLLOWUP'
iv_title = lv_title ).
ENDIF.
CREATE OBJECT lv_bo_coll TYPE cl_crm_bol_bo_col.
lr_comp_ctrl ?= me->comp_controller.
lr_cw = lr_comp_ctrl->typed_context->ubdheader->collection_wrapper.
lr_col = lr_cw->get_marked( ).
CREATE DATA lv_struct_ref.
CREATE OBJECT lv_value_node
EXPORTING
iv_data_ref = lv_struct_ref.
CHECK lr_col IS BOUND AND lr_col->size( ) > 0.
CREATE OBJECT lr_col_proc TYPE cl_crm_bol_bo_col.
lr_bo ?= lr_col->get_first( ).
WHILE lr_bo IS BOUND AND lr_bo IS NOT INITIAL.
lr_bo->get_property_as_value(
EXPORTING
iv_attr_name = 'HEADNO_EXT'
IMPORTING
ev_result = ls_ref_header-object_id ).
ls_ref_header-object_type = 'BILLDO'. "#EC NOTEXT
lv_value_node->set_properties( ls_ref_header ).
lv_bo_coll->add( lv_value_node ).
lr_bo ?= lr_col->get_next( ).
ENDWHILE.
gv_fu_popup->set_on_close_event( iv_view = me iv_event_name = 'FOLLOWUP_SEL_CLOSED' ).
gv_fu_popup->set_display_mode( if_bsp_wd_popup=>c_display_mode_surrounded ).
gv_fu_popup->open( iv_inbound_plug = 'EXTFOLLOWUP' iv_collection = lv_bo_coll ).
ENDMETHOD.
method EH_ONFOLLOWUP_SEL_CLOSED.
* Added by wizard: Handler for event 'FOLLOWUP_SEL_CLOSED'
DATA:
lr_context_node TYPE REF TO cl_bsp_wd_context_node,
lr_current TYPE REF TO cl_crm_bol_entity,
lr_col TYPE REF TO if_bol_entity_col,
lr_wdw TYPE REF TO cl_bsp_wd_window.
IF gv_fu_popup->get_fired_outbound_plug( ) EQ 'LEAVE'. "# EC NOTEXT
lr_context_node = gv_fu_popup->get_context_node( iv_cnode_name = 'BTORDER' ). "# EC NOTEXT
CHECK lr_context_node IS BOUND.
lr_current ?= lr_context_node->collection_wrapper->get_current( ).
CHECK lr_current IS BOUND.
CREATE OBJECT lr_col
TYPE
cl_crm_bol_entity_col.
lr_col->add( lr_current ).
lr_wdw = me->comp_controller->if_bsp_wd_window_manager~get_window( 'MainWindow' ).
lr_wdw->call_outbound_plug( iv_outbound_plug = 'NAVIGATE_CREATE' iv_data_collection = lr_col ). "#EC NOTEXT
ELSEIF gv_fu_popup->get_fired_outbound_plug( ) EQ 'LEAVEPROCTYPE'. "# EC NOTEXT
gv_fu_popup->set_on_close_event( iv_view = me iv_event_name = 'FOLLOWUP_SEL_CLOSED' ).
gv_fu_popup->open( iv_inbound_plug = 'EXTFOLLOWUPITEMS' ).
ENDIF.
endmethod.
method OP_NAVIGATE_CREATE.
* Added by wizard: Outbound plug 'NAVIGATE_CREATE'
DATA:
lr_window TYPE REF TO cl_bsp_wd_window.
lr_window = me->view_manager->get_window_controller( ).
lr_window->call_outbound_plug( iv_outbound_plug = 'NAVIGATE_CREATE'
iv_data_collection = iv_data_collection ).
endmethod.
Thanks,
Subhash.Hi Srikanth,
I believe You are trying to implement dynamic navigation..
lv_data_collection->add( lv_descriptor_object ).
I can see lv_data_collection is not having the actual entity just the descriptor object details you are adding in the lv_data_collection..
If you don't have the context node binding between source and destination component, add the required data to lv_data_collection
, in the target component inbound plug retrieve the same data entity and set it on the relevant context node.
To get an idea, check standard component for where dynamic navigation is implemented.
Hope this helps..
Cheers,
Sumit Mittal -
Change Condit.origin field value from C to A in sales order
Hi,
We have to maintain Condit.origin field in Item-Conditions-Details in Sales Order.
Path -
Open a sales order, now db click on one line item and select conditions tab. Now db click on JMOD condition. After that you will see the Item-Conditions-Details. Now please see the Condit.origin under Control data heading.
In my system, it is automatically selecting C - Manually entered and it is non-changeable. How can i change it to A - Automatic pricing.
Plz guide..We are creating Condition record in VK11 with below shown inputs:
Condition Type - JMOD
enter
Select Sales organization radio button and enter
now we are creating a new Excise condition entry.
Sales Organisation.........Proc. Stat.......Amount........Unit.......Valid From.........Valid to......Tax Code..
1000...............................01..................10000...........INR........01.03.2010.......31.03.2010........A0
and save.
when we are creating new sales order...we don't see any changes in item condition's...C is still there...
plz guide... -
Conversion of Scheduleline category from CP to CN in Sales order
Hi all,
I understood there is astandard functionlatity in SAP after deatching a stock from MTO order to other sales order and once quantity becomes less than 1 system automatically changes the Scheduline line category from CP to CN so that there will be no MRP run for that quantity.This happens in case of standard order but not happening for Scheduling agreement.
My requirement is that after deattching and attaching stock if balnace qty in sales order is less than 1 scheduline category needs to be changed from CP to CN so that MRP will not run for those SO qty.
KIndly help on this whether it can be achieved through standard functionality or to be done through techinical help
Regards,
KarthikHi
I feel this can only be possible through a development.
My suggestion would be to develop a Z program which can scheduled as a back ground job. Wherein it searches for the schedule agreements order qty and if the order qty is less than one then it should select those orders and change those orders schedule line category to CN
Discuss with your Technical guy
regards
Prashanth -
How to prevent from creating multiple deliveries per sales order
Hi,
Appreciate your help on the below.,
I do not want the users to create multiple deliveries for a single sales order. They should only be allowed to create one delivery and it can either be a full delivery or a partial delivery.
Is there any possibility in configuration to do this? I checked the customer master configuration, but it is only for sales order line item.. I only need one delivery for the entire order, regardless of whether it included all line items or not.
If the user tries to create a second delivery for the same order, it should ideally give an error message and stop the system from creating the second delivery
Appreciate your help.
Thank you.
KeshiniThanks Marian for your feedback.
I tried this again, however it still works only at item level.
Say i have a sales order, with 2 line items with 50 each.
Say i create an delivery for only the first line item for 20, delivery gets created.. It doesnt allow to create the delivery for rest of the 30 on that line item,
However if i try to create a delivery for the second line item, it allows and the delivery gets created.
I only want one single delivery for the entire order.
Thanks,
Keshini -
Any table keep track of Sales order and relevant IDOC
hi all,
Do we have any table to keep track Sales order and its relevant IDOC in the system?
A list of sales order# given by user, from the list, we would like to find a faster way to get the corresponding IDOC.
thanks.Hi Reetha,
EDIDS table would have the IDOC Number & sales order number. Parameter 2 is the field in EDIDS which would have the sales order number.
I understand that this table would have many records but i dont think any other table would have the above combination. If you get any other table, then pls. do update @ it on this thread.
Thanks,
Best regards,
Prashant -
Copying text from CMIR (KNMT) to the Sales Order Line Item
We need to copy text from the CMIR (KNMT) to the Sales Order Line Item with two steps in the access sequence. First to look up by the Ship to Partner Function. If doesn't exist, then look up by Sold to Partner Function. Have setup a new text id (ZPRN), a new access seq (9011). The access seq has one seq =5 for KNMT, ZPRN, all languages and that saves fine. When I set the Partner Function to be SH. I get the following error msg:
"The Language does not come from the partner function AG for MVKE".
Any ideas? This access seq does not reference MVKE. It only references KNMT.
Thanks!Hi Lisa,
Just stumbled on this post, as I am searching for something similar.
What you are attempting to do isn't possible in config.
This is because as standard Customer Material Info Records are not even considered for ship-to party in the sales order.
They work for sold-to only.
Therefore, this funny error message is SAP's way of saying, "Why are you trying to enter a partner here, because the data is determined for sold to only?"
You can change this with development for other fields (ie, to determine delivery plant, tolerances etc at ship-to) by using
the exit MV45AFZB with the USEREXIT_CUST_MATERIAL_READ form.
However, even if you do this, Text Determination is still sold-to only and still doesn't behave.
I am currently looking myself for a solution for this problem and I will let you know what I find.
Cheers
Chris
Maybe you are looking for
-
Excel import to numbers- date format issue?
importing excel to numbers means my date format goes to a 5-digit number. I've ensured that the Excel cells are correctly formatted as dates but it keeps happening. Any ideas?
-
Performance Problem with File Adapter using FTP Conection
Hi All, I have a pool of 19 interfaces that send data from R/3 using RFC Adpater, and these interfaces generate 30 TXT files in a target Server. I'm using File Adapters as Receiver Comunication Channel. It's generating a serious perfomance problem. I
-
Hi sap gurus While i am running F.27 its showing a error message i assigned the SAP06, i am getting the error message like Variant SAP06 does not exit and i am unable to get the report. please guide me. its urgent. Thanks Bharath
-
Stop Error 34 CACHE_MANAGER
Installed Win 7 64-bit on both a 2007 and 2009 Mac Pro. Everything worked fine until I installed the Boot Camp drivers from the SL disk. After installing and rebooting, at blue screen with error 34 appeared. Restoring to just before the boot camp dri
-
Loading contract and its past period through LSMW
Hi, We are currently building an LSMW to load contract from an excel document and using BAPI "BAPI_CONTRACT_CREATE". The problem that we are having is that when we load the contract with a validity period of 01.06.2009 to 30.06.2010, the contract