BDBG - how to change idoc structure
Hi all,
I want to create a new IDOC, this idoc will create a sap object by creating a SAP idoc,
I am using TCODE BDBG for creating the inbound FM and the idoc,
my problem is that i need the idoc to be conscructed in a specific way - header + data,
when the header is Hier. level 1 and the data is 2,
but the idoc is being created with 2 segments that has no hierrcy.
Thanks,
Naama.
Hi,
I guess i am too late but still here goes.
Instead of using a structure in both IMPORTING and TABLES parameter, use a deep structure to form your hierarchy and mention this structure in TABLES parameter.
Do let me know if i am wrong.
Regards,
SYN
Edited by: SYN on Sep 26, 2008 12:22 AM
Similar Messages
-
How to change IDoc control record
Hi all,
How to change the control record of the ORDERS (purchase order) outbound IDoc? The partner type and partner number is always the logical system. I want to change it to other partner type, e.g. KU.
Is there any user exits availalbe?
Thanks!
Regards,
HuiHi,
<b>Option-1</b>
User user-exit<b> EXIT_SAPLEINM_001</b> of <b>enhancement MM06E001</b> to change the control record.
But make sure that whatever control record you put here, there should be a corresponding partner profile exist in partner profile ( WE20 ).
<b>Option-2</b>
You are saying that you are always getting 'LS'. This is because the output type is only configured with partner function 'LS'. We are using Purchase order idoc and we generate our all idocs for partner type 'KU'.
To do this, follow these steps.
- go to transaction <b>NACT</b>
- enter application 'EF' and select 'maintain'.
- select the output type you are using in PO for EDI.
- with this output type selected, select "partner functtions" from left hald side options.
- Hit "new entries" button on the top
- create an entry with, MEDIUN = 6 (EDI) ; Funct = VN ( vendor )
- Save your settings and come out
- Now on WE20, remove the partner profile you have created under partner type 'LS' and instead create a same partner profile for your vendor under partner type "KU".
Now it is upto you to decide, either to user the user-exit i have mentioned to change the control records OR create a outout config and partner profile for "KU".
Let me know if you have any question.
Regards,
RS -
How to change XML Structure from one form to another form using OO ABAP.
Hi Experts,
In my Scenario, i need to do ABAP Mapping in order to change Incoming structure from one form to another.
My Input to ABAP Mapping (OO ABAP Program)would be :
<A>..........</A>
<B>..........</B>
<C> .........</C>
<D>..........</D>
<E>..........</E>
<F>..........</F>
OO ABAP Program need to read this input and change the XML Structure into below form:
<A>..........</A>
<B>..........</B>
<C> .........</C>
<X>
<D>..........</D>
<E>..........</E>
<F>...............<F>
Please provide inputs (sample Code) to solve this issue.
Thanks,
Kish.
Edited by: Kishore Reddy Thamma on Jan 22, 2008 2:51 PM
Edited by: Kishore Reddy Thamma on Jan 22, 2008 2:52 PMHi,
Please provide sample code or Material for converting XML Structure from one form to another using OO ABAP and
Steps for ABAP MAPPING.
Thanks,
Kish. -
How to change target structure order
Hi Guys,
I am having the problem for changing the target structure order,
I am dealing the fixed length files using the sender file adopter I am getting the order what ever I want. example below mention.
created the data type message type and every thing my own and also used sender file adopter with file content conversion.
Source
STRU1
STRU2
STRU3
STRU1
Where as I got the XSD from the vendor for the target and used external definition. When I am doing the message mapping I am getting different order.
I want the target as below mention
Target
STRU1
STRU2
STRU3
STRU1
But I am getting as :
Target
STRU1
STRU1
STRU2
STRU3.
Can you guys please help to get order what ever I want....
Thank
BabuSarvesh,
Those are like STRU1, STRU2 STRU3 structures not fields, every structure has n number fileds.
When I configure my sender file adopter I got the order what ever i need, but when I am doing message mapping structure level mapping like
STRU1 -
> STRU1
STRU2 -
> STRU2
STRU3 -
> STRU3
Since STRU1 has 2 occurrences in source first and last.
when I did above mapping the STRU1 is comming 2 times as a first, Which I do not want.
I hope you understand ..
can you please help me how to get order in target..
Thanks
Babu -
Hello Friends,
How can i change status of Idocs from 02, 51, 64 to below status
31 for Outbound idocs
68 for Inbound Idocs
I have searched the forum, and many people are advising to use BD87 to perform it.
I have checked BD87 and i am unable to find option to change status to 31 or 68
There is some thing similar
BD87 -> Give input and Execute -> Goto -> Transactional RFC -> Convert Idoc Status -> but here there is no option to give final status 31 or 68. Even though i have executed, but status is not changed.
Can any one please let me know what is correct path (or) any thing wrong ?
Thank
Tonyfor inbound run RBDAPP01 / RBDMANI2 depending on status 64 or 51, outbound RBDAGAIN for 02, uncheck background processign at the bottom of the screen, and on the next screen press Delete.
-
How to change the structure of a created Proxy?
Hi, everyone
I have a scenario as follow:
I have to change the importing sturcture of proxy, but the system warning that 'Use transaction SPROXY if you wish to process a generated proxy type'. But, as a matter of fact, I handle it in the transaction SPROXY. What's wrong with it?
Regard.
Best wishes!
Edited by: MikoSuzuHikari Miko on Dec 23, 2008 11:16 AM
Sorry, here, structure means the component type referedHi,
Please check the following link will help you out.
http://help.sap.com/saphelp_nw04/helpdata/en/ba/f21a403233dd5fe10000000a155106/content.htm -
RE: How to change Idoc segment data
Hi folks,
I have a requirement where in I have a Inbound DELIN Idoc in the SAP system. When I am reprocessing the same Idoc through WE19 by changing the delivery schedule and then changing the E1EDP16-WMENG value in runtime while debugging, the same is getting updated in correponding SDSA but when the new Idoc is getting triggered, only previous old Idoc value is getting reflected.
Kindly suggest!!!!
Vishal.No I dont want to change the value in WE19.... In runtime I am changing the value of schedule Line quantity and the same is getting update in SDSA also but when a new idoc is getting created that value is not getting reflected in that Idoc segment field.
Kindly suggest. -
Hi guru!
i want to know how to convert idoc structure to a Data type.
i tried to download xsd from idoc orders01, and tried to import xsd download from IR, but did not import xsd with some error, like invaild namespace and other errors
does anyone know how to convert all structure of idoc(orders01) to a data type that have sturcture of idco(orders01)?
thanks
venjaminHi venjamin,
first of all the root node of the IDoc (ORDERS01) should match the name of the root node in the data type. Then delete the xml tag in the first line. Delete all fixedValue attributes.
The schema from the backend system declares the root node as a element which is not suitable for a data type definition in ESR. Therefore you have to change the element to a complex type as following:
*Original output from backend*
<xsd:element name="ORDERS01">
<xsd:annotation>
<xsd:documentation>Einkauf/Verkauf</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
</xsd:complexType>
</xsd:element>
</xsd:schema>
*After change*
<xsd:_complexType_ name="ORDERS01">
<xsd:annotation>
<xsd:documentation>Einkauf/Verkauf</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
</xsd:complexType>
</xsd:element>
</xsd:schema>
After that you should be able to import the IDoc.
But usually I just import the IDoc as external definition which can be used instead of a message type.
Hope it helps,
Mane -
Trouble shooting File to Idoc scenario: wrong Idoc structure in target
Hi All,
I am working in an file to idoc scenario. Now the scenario is running but the idoc I am sending from SAP XI is not matching with one received in SAP R/3 system. This is not a new scenario. The scenario was already existing. I have done structural changes in Idoc structure and re-imported it in SAP XI. When the iodoc reaches SAP R/3 system I check its structure and data content. 4 of its fields are missing all 4 were newly added fields. Data from some fields are getting merged into one field within Idoc. data from one field is moving onto other fields in target. I have refreshed the metadata using IDX2 transcation within SAP XI but still getting same result.Hi All,
I am able to see the changed idoc structure in IR. I have also tried cache refresh. I am trying to explain my problem once again with example.
Source Idoc in XI
fieldname data
f1 d1
f2 d2
f3 d33
f4 d4
f5 d5
Idoc structure received in SAP R/3 system. I am seeing through we02 transcation, inbound idoc
fieldname data
f1 d1
f2 d2
f4 d33d4
I have tried cache refresh, IDx2 metadata refresh, but no improvement of the situation. -
Hello
I wander how to change IDOC status. I know there is an report (or a FM) which changes it but I can not find it. Could you please hepl me?
Thank you in advanceHi,
do you mean with a transaction BD87 ? You can modify the idoc and process it ..
regards,
Sandrine -
PCUI: Changing screen structure dynamically
How to change screen structure dynamically, i.e based on the input need to display details of corresponding structure.
Hi Arun ,
I am not too sure what your question means .If you want to change fields dynamically then screen-variants are
a good way to do it.
If you want to change the entire structure itself for the same ROLE then you can try a viewswitch which combines several tab pages .
More details about this is available ib the PCUI cookbook.
(Implementing People-Centric User Interfaces with Business Server Pages and SAP Enterprise Portal).
An extract is given below -
To minimize the number of tabstrips, a so-called viewswitch is offered. This means that within one tab, multiple views are available and can be selected from a dropdown list in the toolbar. This viewswitch works in the same way as the tabs on a lower level. A viewswitch should be used for similar content, for example: Instead of using the three tabs Competitor Address, Competitor Products and Competitor Strategy, they can be combined to one viewswitch OPP_Competitor with the fields address, products, and strategy in the dropdown list box in the toolbar. The dropdown list box only appears if the viewswitch tab is active. To build a viewswitch, several tabs have to be combined to a viewswitch group.
Regards,
Satyadeep -
How we can import an IDOC structure from one SAP system to another w/o ALE
Hi Gurus,
How we can import an IDOC structure from one SAP system to another? we're not able to use ALE tech, these two sap systems are isolated.
Any response will be awarded!
Thanks a lot.
Samsonhi,
1.One is by change pointer concept i.e by executing the RBDMIDOC.We can generate the idoc and automatically to the inbound System.
2.By executable program also like bd10 and bd11.
Regards,
SHIVA(reward if helpful). -
Hi Experts,
For one of my requirement I need to send IDOCS whenever few fields in the delivery document is changed(repetative IDOC for repeated changes) using delivery IDOC typr DELVRY03. Please suggest me the possible solution and configaration for the same.
Regards,
EmayaHi,
Go through this hope u can understand.
Change pointer
Change Pointer table is read and checked if changes were made to important fields , if so the outbound program will be triggered automatically , these have predefined interfaces
ALE/IDOC
IDOC Programming
There are two processes in IDOC processing one is INBOUND PROCESS( IDOC coming to the system and its handling at various stages) and the other is OUTBOUND PROCESS( IDOC is send to other system . Separate ABAP programs are written for these 2 processes and different configuration settings are required for each one .Depending upon the trigeering mechanism different programming approaches are used.OUTBOUND PROGRAMS handle the IDOC creation and INBOUND PROGRAMS handle the inbound IDOC and the data trasfer from the IDOC to the database tables.
NEED FOR ABAP PROGRAMMING arises if
1)New IDOC was created
Depending upon the triggering mechanism i.e change pointer,message control
etc the programming technique changes and the type of process.
2)Existing IDOC was extended
User Exits are used to populate data in new segments added and to read them
back.
3)To enhance an exsiting process.
User Exits are used .
Basic structure of an OUTBOUND PROGRAM
The basic structure of all outbound programs is same. The CONTROL
record which is of TYPE EDIDC has to be filled. It contains important fields like
IDOCTP IDOC type
MESTYP Message Type
RCVPRN Recieving Partner (Destination)
RCVPRT Partner Type (it is LS i.e Logical System)
The DATA RECORD internal table which is of TYPE EDIDD has to be filled
in the same order as there are segments in the IDOC definition.
It has 2 important fields which are to be filled ,these are
SEGNAM Name of the segment
SEGDATA Data in the segment and can be upto 1000 bytes.This field
is corresponds to each data segment in the IDOC.
e.g.
DATA INT_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE.
DATA W_SEGDATA LIKE zsegment "custom segment zsegment
INT_EDIDD-SEGNAM = 'ZSEGMENT'
W_SEGDATA-field1 = value "taken from some table
W_SEGDATA-field2 = value "taken from some table
INT_EDIDD-SEGDATA = W_SEGDATA
APPEND INT_EDIDD
This will fill the data record corresponding to the segment ZSEGMENT . For all
segments the sam steps will be repeated until all the data corresponding to all the
segments in the idoc is filled in the internal table of type EDIDD.
There is only one control record and can be multile data records in the idoc
structure.
Which data is to be extracted from the tables to be filled in EDIDD type internal table is determined in standalone programs from the objects which are specified in the selection screen and from the object key passed to the function module in case of message control and is taken from BDCP table in case of change pointers using function modules "CHANGE_POINTERS_READ"
In case of stand alone programs and function modules based on change pointers method the function module "MASTER_IDOC_DISTRIBUTE" is used to send the IDOC to ALE layer for distribution ,in case of message control it is handled automatically by the RSNASTED program invoked by the message control.
OUTBOUND PROCESS AND OUTBOUND PROGRAM.
Outbound programs are used in outbound process to genearte IDOCs . There
purpose is to extract the data from the tables and to fill the IDOC data records
and the control record in the IDOC and pass ito the ALE layer for distribution to the recieving system .
Depending upon the triggering mechanism (how and when the outbound program will be started different techniques and interface is used for outbound program.
1)Message control
Application like PO(purchase order) creation use this technique , where the output type is linked to the application(Message control is a configurable cross application component which can be set in IMG .Such programs are created in the form of function modules and linked to the output type which is linked to the apllication.These have predefined interfaces.
In outbound programs(function module) that use message control the key of the
application document is passed to the function module whcig will read the data from the table depending upon the key passed(NAST structure) and fill the IDOC segemnts with the application data.The control record is also passed to the function module but is not fully filled, the rmaining fields are filled and the control is passed back to the calling program which is RSNASTED and is invoked by the
message control to process ALE and EDI output types and this program on recieving the IDOC data will create the physical IDOC in the system.
The parameteers passed to the function module are
IMPORTING PARAMETERS
OBJECT LIKE NAST
It contains documents key.
CONTROL_RECORD_IN LIKE EDIDC
It contains the partailly filled control record
EXPORETING PARAMETER
OBJECT_TYPE
CONTROL_RECORD_OUT LIKE EDIDC
TABLES
INT_EDID LIKE EDIDD
The internal table used to fill the data records in the same order as they exists in the IDOC.
The important parameters that should be filled in the custom function module are
CONTROL_RECORD_OUT and INT_EDIDD .The OBJK field of the structue NAST contains the key of the apllication document.
2)Stand alone programs
Generally used for Master Data transfer and as such depending upon the requirement can have different interfaces.The programs have a selection screen which has select options to select the objects, and parameters for specifying the recipient Logical System and the Message Type.
Data is selected based on the specified objects from the tables . and control record of type EDIDC is created and filled with important values like DIRECTION ,IDOCTP,RCVPRT,RCVPRN and MESTYP .
Data is filled in an internal table of TYPE EDIDD according to segment definitions
and in same order and the function module MASTER_IDOC_DISTRIBUTE is called passing the control record and the internal table containg IDOC data and importing an internal table consisting of control records for each communication IDOCS created.
3)Change pointer
Change Pointer table is read and checked if changes were made to important fields , if so the outbound program will be triggered automatically , these have predefined interfaces
ALE/IDOC Transaction
SALE Area Menu for ALE configurations.It includes transactions for
Logical System definition and linking it to a client, Transactions for
RFC Destination and Port Definition Etc.
SM59 RFC Destination
Here we specify the login settings for the destination including
the I.P address or Application Server name and the User name and
password.The information entered here is used to run Remote Function
Calls(RFC ) on the destination server .We can create number of types
of RFC Destinations but 3 types are important .
R/3 (R/3 to R/3), LS(logical system) and TCP/IP.
The name of the RFC destination should be same as that of Logical
System as it helps in creation of automatic partner profiles.
WE21 Port Definition.
There are 6 types of ports but only 2 types File and Transactional RFC
types of ports are important.
We have to specify the RFC Destination before a port can be created.
WE57 This is used to assign the Inbound function module to the Message Type
and to the IDOC Type.
WE42 This is used to define the process Code for Inbound Processing.
BD95 Define Filter object type .We can specify the field and the table it belongs
to as a filter object .
BD59 Assignment of Filter object type to the Message Type .Here we create the
link between Filter object and the segment and the message type and the
segment Field.
BD50 Set message Type to reducible.
BD65 Define Mandatory Fields.
BD64 Distribution Model . Also known as Customer Distribution Model Used to
define all the messages that will be exchanged between remote systems
and the name of thes logical systems. Any filters can also be specified.
The model once created has to be distributed on every system which will
be communicating ,It can be maintained on only One system.
BD21 Creating IDOcs from change pointers.
This can be used to create IDOCs from change pointers for a particular
message LIKE MATMAS.
BD22 This can be used to delete change pointers.
BD87 Status Monitor. Idocs can be selected base on number of criteria and there
processing status can be seen in detail.
BD10 Material Master Data Distribution .
Based on Message MATMAS.
BD12 Customer Master Data Distribution .
Based on Message CREMAS.
BD14 Vendor Master Data Distribution
Based on Message DEBMAS .
BDFG Generate ALE Interface for BAPI.
Here we specify the Business Object and the BAPI Function module for
which the interface has to be created.
WE31 Segment Editor.
This is used to create segments. We create the segment type and
segment definition is automatically created by editor e.g. Z1DUMMY is
segment type and Z2DUMMY is the segment definition .We specify the
fields and the data elements these cp\orresponds to create segments.
WE30 IDOC Editor
It is used to create a new IDOC Type or IDOC Extension .We specify the
segments that will be addd to the IDOC type.
WE02/05 IDOC List.
Various selct options and parameters are provided to select IDOCs
depending on the date, direction , mesage type etc.
WE20 Partner Profile
Here we create partner profile for each and every partner from / to which
the messages will be exchanged.There are 6 types of PF generally only
profiles of type LS(Logical System) ,KU(Customer) ,LI(Vendor) is used.
We specify the partner number and partner type and the agent and
the agent type responsible for handling of errors .
For every message send to the partner we have a outbound record and for
evry message coming from the partner we have the inbound record .
We specify the message in the otbound/inbound records ,double
clicking will take us to the detailed screen where the IDOC Type ,Port
and whether the IDCO will be immediatelt processed or collected are
mentioned.
Reward points if helpful.
Thanks -
How to change the default structure when exporting data in CSV format?
Hello,
can some one tell us how to change the default structure in CRM when exporting lists in CSV format (with Option "Always use unformatted list format (CSV) for download" ? Because we want to add a new structure for our own -is it possible ?
If it is possible where can we find these structure ? In the blueprint customizing ?
Thank you very much,
ChristianThere is a workaround to move from 1.5 version to the older 1.4 version. But this could be specific to the browser setting the JRE version.
Excerpts from sun docs:
However, a user can still run older versions. To do so, launch the Java Plug-in Control Panel for the older version, then (re)select the browser in the Browser tab.
Example:
Assume you are running on Microsoft Windows with Microsoft Internet Explorer, have first installed version 1.4.2, then version 5.0, and you want to run 1.4.2.
Go to the j2re1.4.2\bin directory where JRE 1.4.2 was installed. On a Windows default installation, this would be here: C:\Program Files\Java\j2re1.4.2\bin
Double-click the jpicpl32.exe file located there. It will launch the control panel for 1.4.2.
Select the Browser tab. Microsoft Internet Explorer might still appear to be set (checked). However, when 5.0 was installed, the registration of the 1.4.2 JRE with Internet Explorer was overwritten by the 5.0 JRE.
If Microsoft Internet Explorer is shown as checked, uncheck it and click Apply. You will see a confirmation dialog stating that browser settings have changed.
Check Microsoft Internet Explorer and click Apply. You should see a confirmation dialog.
Restart the browser. It should now use the 1.4.2 JRE for conventional APPLET tags.
Details are here
http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/jcp.html
My system (Windows XP) has the version 1.5_09 set as the default. However i just installed JRE 1.5_06 and would like to revert back to _06 as the default JRE..
Will update if i find more information -
How to change the default IDOC basic type from CREMAS05 to CREMAS04.
Hi All,
How to change the default IDOC basic type from CREMAS05 to CREMAS04 when sending Vendor Master Data.
When I generate partner profile, the system will add the latest version of IDOC type which is CREMAS05 to the Outbound message. In my project, I'm asked to use CREMAS04.
I want to use BD14 to send master data directly, but the program will generate IDOC using CREMAS05. Is there a way that I can change it to CREMAS04? And also for using Change Pointers, I want to use the report RBDMIDOC, but i have the same problem.
Thanks
Sai Krishnaexecute WE20 and edit the outbound parameters
here is a pretty good example: http://documentation.softwareag.com/webmethods/sapr3_gateway/sap231/pages/sapdist.htm
Edited by: Jürgen L. on Sep 7, 2011 9:49 PM
Maybe you are looking for
-
I receive the Missing Plug-In message when I drag a PDF file from the desktop into the Mail icon in the dock; however when I create a new message first, then drag in the PDF file to the body of the message, it works fine. I am also now receiving the
-
Does any one know how to uninstall xcode 4.4 on OSX 10.7?
Because of openframeworks, I want to swich back to xcode 4.2 not the xcode 4.4 after I accidentally upgraded it. I tried the /Developer/Library/uninstall-devtools or deleting the xcode.app from the application folder, none of it works, everytime I tr
-
Trying to measure the degree of arc of two points
I am trying to compute the degree of a mouse down and a mouse up, in order to rotate a rectangle. I always start rotation in the bottom right corner. I can get a trivial example to work as follows with vector2d: Vector2d start = new Vector2d( 400, 0
-
Need Purchase order entry time field
Hi, I need to know the table and field of the purchase order created time. I found the purchase order creation date field(AEDAT)from EKKO Table. But unable to locate the time field. ( I need to put the timestamp logic). So, i require the time field.
-
Multiple users, avoiding data loss
Hi, Here is the problem User a reads data from row r in table t User b reads data from row r in table t User b updates data and writes back to table t User a updates data and writes back to table t User b's update was lost. We are using custom DAO, J