" / " in BAPI Structure name
Hi
I tried imported a the BAPI "/POSDW/BAPI_POSTR_CREATE" from the POSDM system, which is the target int his scenario.
But it looks like XI is replacing the "/" with "_-", which gives me a runtime exception in message mapping transformation "Cannot produce target element /ns1:_-POSDW_-BAPI_POSTR_CREATE. Check xml instance is valid for source xsd & target-field mapping fuifills requirements of the target xsd ....etc
Does anyone have a workaround for this?
Thanks
Rachana
Hi Rachana,
From SAP FAQ-
<i> Q 6: Is there a special handling of the '/' character in the names of function modules?
A: As the '/' character can cause conflicts within XML documents it is escaped with the sequence '_-'. A RFC sender channel will do the escaping of '/' to '_-' and a RFC receiver channel will do the opposite. This only will be done for the RFC-XML document.</i>
workaround I am not sure..
Writing a Wrapper function may work here...
Regards,
Moorthy
Similar Messages
-
Problem in Transporting a BAPI structure
How to transport the extended BAPI structure from D system to Q system.
BAPI structure is extended by appending a new structure with two fields in Development system. I want to transport it to Q. But there is no transport request for this change. Since i have not done this change i dont know wat has to be done.
Thank you in advance.
Regards,
Umasankar.Hi,
You can use standard program RSWBO052 to change development class.
In the line : R3TR FUGR Function Group
1)check the box
3)insert the function gruop name
4)Press F8 or Execute
5) double click and change the class
Regards,
Sooness -
Assign values to bapi structure dynamically
Hi,
I have to use the BAPI, BAPI_MATERIAL_SAVEDATA to extend the material to different plant specific views. I have to use the structure BAPI_MARC and other structures in order to do this. But the values to be passed to the structure BAPI_MARC are not fixed. These values will be maintained in a custom table against the structure name and field name for a particular plant.
In the program I have to extract the structure name and field name for a corresponding plant from custom table and fill the corresponding value in BAPI structure BAPI_MARC.
Now, internal table in the program is having these details.
How can I fill the bapi structure BAPI_MARC based on this information.
For example, if in custom table, value 0001 is maintained against the field PUR_GROUP, I have to fill the field PUR_GROUP in strcutre BAPI_MARC with 0001.
Hope I am clear in explaining the problem. Please let me know how to aciheve this?
Best Regards,
Kumar.Hi,
I have tried to implement that in a sample program first. Please have a look at the code below.
DATA: BEGIN OF line,
col1 TYPE i,
col2 TYPE i,
col3 TYPE i,
END OF line.
DATA comp(4) TYPE c VALUE 'COL3'.
FIELD-SYMBOLS: <f1> TYPE ANY, <f3> TYPE ANY.
ASSIGN line TO <f1>.
ASSIGN COMPONENT comp OF STRUCTURE <f1> TO <f3>.
IF <f3> IS ASSIGNED.
ENDIF.
I checked in the debugging mode and the value of <f3> in debugging mode is 0, but not line-col3.
Best Regards,
Kumar -
Need for separate BAPI Structure for import parameters
Hi All,
I have a doubt regarding the logic behind declaring a separate BAPI structure for import paramters and use it.
Let me explain you clearly,
Whenever we pass an import parameter(like vendor number/sales order number) to an normal function module we declare it using either like/type referring to an existing dictionary structure field. but when the number of import parameters increase we may think of creating a single structure with all and use it for simplicity.
But when it is the case with a BAPI, it is suggested that we create a structure even when we have single import parameter.
for example.
supposing that we create a normal function module to get the details of a given Vendor, then we declare the import parameter as below
VENDORNO LIKE LFA1-LIFNR
But <b>if we observe the BAPI_VENDOR_DISPLAY, We find that declaration for the same as
VENDORNO like BAPIVENDOR_ID-VENDOR_NO,
where BAPIVENDOR_ID is a separate BAPI sturcture created and assocaited only with Business object "Vendor".</b>
I tried it by declaring as for a normal FM, even then it work fine.
Now my question is,
If SAP Suggests that we have a separate structure for all import parameters starting with name BAPI and use only those fields to reference with,
what is the logic/reason behind asking so.
I had created a BAPI with paramters referring to standard database fields like
VENDORNO like LFA1-LIFNR and it is still working
<b>I had also written interface programs using VB/ .NET to access the data from my own BAPI and standard BAPI's and both were working alike.</b>
so anyone <b>please give me the reason/logic behind declaring a separate BAPI stuture for all the import parameters to be used in a method</b>.
Thanks in advance,
LakshmiI would say that it really comes down to simplicity. Think of it this way, you are not an ABAPer, you must right a VB or a java program to call this BAPI from outside the system, you know nothing about R/3 or its data structures/tables. Now that said, think of what it would be like if all of the fields in the BAPI signature were like we find in the standard tables, LIFNR, etc. What is LIFNR, right? Since we are ABAPers we know that it is Vendor, but for others, they may not know. This is why you will find the signature of a BAPI very descriptive, notice that all of the fields describe the field in english. This is good for non-ABAPers. To organize all of these fields that may be used in the BAPI interface, it is good to put all of them in one defined structure, that way they are all in one place, and can be referenced as such. Again, BAPIs are designed to be used by ABAPers and non-ABAPers, so simplicity is important.
Regards,
Rich Heilman -
BAPI Structure ( very Urgent)
Hi,
BAPI Structure for Comments on Address Segment is E101BAPIAD_REM. I dont know structure Please help me as soon as possible.Hi,
this will help full to u.
*structure for E101BAPIAD_REM *
APPL_SNAME : Structure Name, No Business Significance
internal data type : CHAR
Internal length : 000030 characters
Position in segment : 001, Offset : 0063. external length : 000030
ADDR_VERS : International address version ID
internal data type : CHAR
Internal length : 000001 characters
Position in segment : 002, Offset : 0093. external length : 000001
LANGU : Language Key
internal data type : LANG
Internal length : 000001 characters
Position in segment : 003, Offset : 0094. external length : 000001
LANGU_ISO : Language according to ISO 639
internal data type : CHAR
Internal length : 000002 characters
Position in segment : 004, Offset : 0095. external length : 000002
ADR_NOTES : Address notes
internal data type : CHAR
Internal length : 000050 characters
Position in segment : 005, Offset : 0097. external length : 000050
ERRORFLAG : Flag: Record not processed
internal data type : CHAR
Internal length : 000001 characters
Position in segment : 006, Offset : 0147. external length : 000001 -
DDIF Function Module for getting the description of a BAPI structure
Hi,
I need to find a function module that returns the description of a structure...well a BAPI structure, not that that makes any difference.
The DDIF_ function modules I've tried will all return the descriptions of data elements in tables, but not structures.
Thanks,
TristanCheck FM : CACS_DBNAME2TABNAME
-
Dynamic structure names in cfloop
I have designed a web application that allows users to enter
a number of records on one form – for example computer
skills. The user can add up to 20 different computer skills.
On another form, the user’s recorded computer skills
are shown as a number of dynamic checkboxes. One computer skill
means the user sees one checkbox. Twenty computer skills means the
user sees 20 checkboxes. I have made a query loop to output these
computer skills and checkboxes. I have also made structure
variables so that the selection of the specific computer skill
checkbox is retained for later use in the web application. If the
user checks any of the checkboxes, on submission of the form, the
structure value is updated from no to yes (and vice versa). This
part is working, and I am happy with it.
The problem I have is that I am unable to find a way to
individually indicate that the specific checkbox value is checked
or not. If the user selects the checkbox, submits the form and
returns to the form, the checkbox should still show as ticked as
the structure value of that checkbox is “yes” (as in
checked=”yes”). As I am using structures, adding
#currentRow# to the structure name inside the loop does not work,
as CF views this as a different structure name that is not
recognised. For example:
<cfloop query=”rsReturnComputerSkills
<cfinput type=”checkbox”
name=”computerSkill#currentRow#”
checked=”#structure.computerSkill##currentRow#”
</cfloop>
Essentially, I cannot place the dynamic structure value into
the checkbox input field.
I thought that using an array may overcome this, but alas I
encounter the same problem.
Is there a way to append #currentRow# to the structure name
or is there another way to achieve the same that I have not thought
of?Just list server gossip (so take with a large grain of salt).
But some
well regarded members have done simple timing tests and taken
a look at
the Java byte code generated. Evaluate() seems to be pretty
trim in the
latest versions of CFMX.
But I still try to avoid it, because while it may or may not
slow down
execution, it definitely can slow down development if you do
anything
more complicated then concatenate a simple string and a
variable.
Kevin Schmidt wrote:
> Interesting. Do you have the info on that Ian. As far as
I know, at least in the latest Advanced CF Course, Adobe/MM was
still saying that evaluate() brought with it a performance
degradation. -
Finding a Structure name in Programs
Hi all,
I have a structure - EBAN_ORD_CUST in one server-A and it is being updated by a program in another server - B (this structure is not existing in this server).
I need to find out the program name which is updating in the server-B.
I have searched through 'Where Used List' in Programs in SE11 by giving the Structure name.
But unable to find.
Please let me know with any other procedure we can find the program which is updating this structure.
Thanks in advance
Avanthi Anand.Hello Avanthi,
You must be doing a RFC from (as you are saying) Server B with Server A as the destination system.
The logic to populate the structure should reside in Server A, as per my understanding.
BR,
Suhas -
Table name from structure name
Hi experts
can anyone tell me how to find the table name if structure name is known.
when i press F1 in table field ,it give me struct name and field name.
how can i find table name from this struct.
Thanks in advanceHi ,
You can Check the where used list from your structure,
or
From SE84 transaction in abap dictionary ,give your
structure name and execute it will show where it has
been used.
Hope it helps
Regards
Mansi -
Table which stores all the structure names in SAP
Hi ,
Please let me know the table where we can find all the structure name like for tables we are using DD02L, Tcodes TSTC, like that where we can find all the structure name
Regards,
Bhaskarhai friend,
use go to se11
tables : give syst.
thanks,
anji. -
Hello All
I wanted to know what are the structure naming conventions which are used in SD VOFM routines.
According to me the structure names start with KOMx (where x is either p or v).
Best regards
SujoyHi
Structures can be komv ,komp ,komk
and internal talbe would be xkomv, tkomv, konp etc...
Thanks
Krishna -
How to retrieve message structure name of an incoming XI message?
Hi,
Is it possible to reveal the message structure name of an XI message, that is send through a proxy?
Background:
I have a ABAP proxy that passes a XSD message from XI to the Mobile Middleware. I need the name of the that message structure in order to generate Mobile Business Objects from it.
There should be an API available for that.
I would appreciate your help.
Best Regards,
MichaelHi Lucas (says Lucas),
After a little digging and trying out things I have found the solution.
The Advanced Components palette available in the Mapping Editor has a section Mediator Functions. The getProperty() function shown there can be used to extract header properties. The property I am after is called jca.file.FileName, and can be assigned in the XSLT document like this:
<ns2:filename>
<xsl:value-of select="mhdr:getProperty('in.property.jca.file.FileName')"/>
</ns2:filename>
Note that the Assign Values dialog that is available in the Mediator editor has a long list of many names of properties that are available, including jca.file.Directory and jca.file.Size as well as many properties for the AQ, BPEL and EBS adapters.
hope this helps any one besides myself.
bye for now,
Lucas -
[Function] Declare a internal table with structure name (entry parameter)
Hi all,
I'm explaining my problem :
I want to create a function with two parameters in entry :
(IMPORT) - structure_name with type DD02L-TABNAME
(TABLES) - t_outtab with empty type
t_outtab will be in structure_name type.
Now, in my source function, I want to retrieve all contain of t_outtab in another internal table or field-symbol. I don't know in advance the used structures in my function entries.
I don't manage to get this contain, cause I can't do :
DATA : internal_table TYPE structure_name*
OR
DATA : internal_table TYPE (structure_name)
OR used field-symbol
DATA : internal_table TYPE <fs>* where <fs> had structure name value.
To do more later :
*DATA : line LIKE LINE OF internal_table. *
*internal_table][ = t_outtab][. *
And work with this table.
_ I tried different solutions like : _
Get the structure of the table.
ref_table_des ?= cl_abap_typedescr=>describe_by_name( I_STRUCTURE_NAME ).
idetails[] = ref_table_des->components[].
Get the first structure table of result table
LOOP AT idetails INTO xdetails.
CLEAR: xfc.
xfc-fieldname = xdetails-name .
xfc-datatype = xdetails-type_kind.
xfc-inttype = xdetails-type_kind.
xfc-intlen = xdetails-length.
xfc-decimals = xdetails-decimals.
APPEND xfc TO ifc.
ENDLOOP.
Create dynamic internal table and assign to FS
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = ifc
IMPORTING
ep_table = dy_table.
ASSIGN dy_table->* TO <dyn_table>.
Create dynamic work area and assign to FS
CREATE DATA dy_line LIKE LINE OF <dyn_table>.
ASSIGN dy_line->* TO <dyn_wa>.
and retrieve to <dyn_table>[] = t_outtab[].
the but I don't try the solution. If someone have an idea.
Thanks and regards.
Romain
Edited by: Romain L on May 14, 2009 11:35 AMHi,
We can acheive this using dynamic internal tables.
Please find sample below.
*Creating Dynamic internal table
PARAMETERS : p_table(10) TYPE C.
DATA: w_tabname TYPE w_tabname,
w_dref TYPE REF TO data,
w_grid TYPE REF TO cl_gui_alv_grid.
FIELD-SYMBOLS: <t_itab> TYPE ANY TABLE.
w_tabname = p_table.
CREATE DATA w_dref TYPE TABLE OF (w_tabname).
ASSIGN w_dref->* TO <t_itab>.
* Populating Dynamic internal table
SELECT *
FROM (w_tabname) UP TO 20 ROWS
INTO TABLE <t_itab>.
* Displaying dynamic internal table using Grid.
CREATE OBJECT w_grid
EXPORTING i_parent = cl_gui_container=>screen0.
CALL METHOD w_grid->set_table_for_first_display
EXPORTING
i_structure_name = w_tabname
CHANGING
it_outtab = <t_itab>.
CALL SCREEN 100.
* Scenario 2:
*Create a dynamic internal table with the specified number of columns.
* Creating Dynamic internal table
TYPE-POOLS: slis.
FIELD-SYMBOLS: <t_dyntable> TYPE STANDARD TABLE, u201C Dynamic internal table name
<fs_dyntable>, u201C Field symbol to create work area
<fs_fldval> type any. u201C Field symbol to assign values
PARAMETERS: p_cols(5) TYPE c. u201C Input number of columns
DATA: t_newtable TYPE REF TO data,
t_newline TYPE REF TO data,
t_fldcat TYPE slis_t_fldcat_alv,
t_fldcat TYPE lvc_t_fcat,
wa_it_fldcat TYPE lvc_s_fcat,
wa_colno(2) TYPE n,
wa_flname(5) TYPE c.
* Create fields .
DO p_cols TIMES.
CLEAR wa_it_fldcat.
move sy-index to wa_colno.
concatenate 'COL'
wa_colno
into wa_flname.
wa_it_fldcat-fieldname = wa_flname.
wa_it_fldcat-datatype = 'CHAR'.
wa_it_fldcat-intlen = 10.
APPEND wa_it_fldcat TO t_fldcat.
ENDDO.
* Create dynamic internal table and assign to FS
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = t_fldcat
IMPORTING
ep_table = t_newtable.
ASSIGN t_newtable->* TO <t_dyntable>.
* Create dynamic work area and assign to FS
CREATE DATA t_newline LIKE LINE OF <t_dyntable>.
ASSIGN t_newline->* TO <fs_dyntable>.
*Populating Dynamic internal table
DATA: fieldname(20) TYPE c.
DATA: fieldvalue(10) TYPE c.
DATA: index(3) TYPE c.
DO p_cols TIMES.
index = sy-index.
MOVE sy-index TO wa_colno.
CONCATENATE 'COL'
wa_colno
INTO wa_flname.
* Set up fieldvalue
CONCATENATE 'VALUE' index INTO
fieldvalue.
CONDENSE fieldvalue NO-GAPS.
ASSIGN COMPONENT wa_flname
OF STRUCTURE <fs_dyntable> TO <fs_fldval>.
<fs_fldval> = fieldvalue.
ENDDO.
* Append to the dynamic internal table
APPEND <fs_dyntable> TO <t_dyntable>.
* Displaying dynamic internal table using Grid.
DATA: wa_cat LIKE LINE OF fs_fldcat.
DO p_cols TIMES.
CLEAR wa_cat.
MOVE sy-index TO wa_colno.
CONCATENATE 'COL'
wa_colno
INTO wa_flname.
wa_cat-fieldname = wa_flname.
wa_cat-seltext_s = wa_flname.
wa_cat-outputlen = '10'.
APPEND wa_cat TO fs_fldcat.
ENDDO.
* Call ABAP List Viewer (ALV)
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = fs_fldcat
TABLES
t_outtab = <t_dyntable>.
Thanks,
Jyothi
Edited by: Jyothi on May 14, 2009 11:42 AM
Edited by: Jyothi on May 14, 2009 11:43 AM -
Pass the structure name and return the description fields.
Hi experts!!,
I would like to know a class and the method that I pass the structure name and return all the description fields.
Thanks a lotHello Ana
Have a look at class CL_ABAP_STRUCTDESCR.
DATA: ls_knb1 TYPE knb1.
DATA: lo_typedescr TYPE REF TO cl_abap_typedescr.
DATA: lo_strucdescr TYPE REF TO cl_abap_structdescr.
DATA: lt_dfies TYPE ddfields.
lo_typedescr = cl_abap_structdescr=>describe_by_data( ls_knb1 ).
lo_structdescr ?= lo_typedescr.
lt_dfies = lo_structdescr->get_ddic_field_list( ).
" Or check public attribute: lo_structdescr->components for non-DDIC structures
Other useful RTTI classes are:
CL_ABAP_DATADESCR
CL_ABAP_TYPEDESCR
CL_ABAP_TABLEDESCR
CL_ABAP_CLASSDESCR
Regards
Uwe -
Finding Table Name from Structure Name
Hi All,
Can someone tell me,whats the best/fastest way to find out the Table name where a data gets stored actually,when we know a structure name
Bhavin P ShahHi Bhavin,
The fastest way would be to use the<b> " WHERE USED "</b> option that you find on the application toolbar.
Step:
1. Go to SE11.
2. Enter the Structure Name.
3. Press the <b> " WHERE USED "</b> button.
4. Select "Dictionary Tables.
After that you should get the list of all the Dictionary Tbales that use your structure.
<b>Kindly Reward points if you found the reply helpful</b>.
Cheers,
CHAITANYA.
Maybe you are looking for
-
Hi Gurus I am strugling to reschedule a Process Chain to the folling criteria 6AM to 6PM one hourly 6PM to 6AM two hourly (night time the chain must run every 2 hours ) Thank You Donn
-
Using BTBBT As a landline (Dial '5'). What charges...
If I dial a 5 and switch my BTBBT line to landline, are the calls charged as landline calls are charged? My landline has an "anytime" package for free calls and I was wondering if dialing a '5' when making BTBBT calls would allow free calls as part o
-
DB2 V9.5 migration on cluster
Hello guys, I've just migrated my DB2 8.2 databases and now I've detected a problem. When I try to start database in second node cluster, it gives me an error. My cluster is HACMP. db2set variables are not available... and it doesn't recognize any in
-
[Q] Maximum Number of Concurrent Connections to 1142 LAP
We are having random issues of users not being able to connect to our wireless network consistently. The users will have successfully accessed the network previously but then will have difficulty associating to the network. After a period of time, th
-
Out of memory when coverting large files using Web service call
I'm running into an out of memory error on the LiveCycle server when converting a 50 meg Word document with a Web service call. I've already tried increasing the heap size, but I'm at the limit for the 32 bit JVM on windows. I could upgrade to a 64