Calling Message mapping Dynamically based on a field value
Hi gurus,
I have
1 source inteface
1 target interface
3 Message mapping programs based on the 1 source and 1 Target Interfaces
I need to decide Dynamically as which message mapping program should be called based on the Input provided by the source system.
For example:
If the souce side file sends a field value=1 then message mapping 1 should be called
If the source side file sends a field value=2 then message mapping 2 should be used...
Pls provide me help on this ASAP.
As ur source and target structures are always same, u should have used same mapping with multiple conditions instead of using three different mappings.
Right now for ur requirement, in ID -> standard Interface Determination, u can use multiple interface mappings based on condition.
Check heading "Specifying Conditions (for Multiple Inbound Interfaces)" here
http://help.sap.com/saphelp_nw04s/helpdata/en/42/ea20e737f33ee9e10000000a1553f7/content.htm
Regards,
Prateek
Similar Messages
-
Message Mapping : content based target structure generation
Hi Team,
As per my requirement , mapping should generate target structure based on one "field" value in source srtucture.i.e target structure should generate for some of the custid values , not for all cust id's . also I dont want empty files .
Source:
MT_SOURCE
-Custid
-CustName
Target:
MT_TARGET
-Custid
-CustName
But I want to generate Target structure MT_TARGET only for custid values' 001,002,003 ; for remaining values I dont want to generate target structure MT_TARGET . Is it possible using graphical mapping.I think UDF is correct oprtion. can you provide sample code for this requirement.
Thanks.
DrumiBut I want to generate Target structure MT_TARGET only for custid values' 001,002,003 ; for remaining values I dont want to generate target structure MT_TARGET . Is it possible using graphical mapping.I think UDF is correct oprtion. can you provide sample code for this requirement.
might be it is helpful for ur requirement:
Custid + constant(001) +equals ->(first) if
Custid->then
Custid + constant(002) +equals-> else
First if ending -> Second if
Custid->then
Custid + constant(003) +equals-> Second else ->target Custid -
Search help for a field in table control based on another field value
Hi,
I want to attach the Search help for a field in table control based on another field value.
Please help me asap.
Will be highly rewardedHI,..
Check these links
search help in table control
Re: How to create Search Help for a field in Table control !!
How to create Search Help for a field in Table control !!
F4 Help In Table Control
Control table F4 help
Problem in F4 help in screen field
check this code
DATA: BEGIN OF it_value4 OCCURS 0,
TEXTCODE LIKE ZXX-TEXTCODE,
TEXTDESC LIKE ZXX-TEXTDESC,
END OF it_value4.
progname = sy-repid.
dynnum = sy-dynnr.
SELECT TEXTCODE TEXTDESC
FROM xxxx
INTO CORRESPONDING FIELDS OF TABLE<b> it_value4</b>
WHERE LOSS_CODE =<b> IT_VALUE1 .</b>
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'TEXTCODE'
dynpprog = progname
dynpnr = dynnum
dynprofield = 'ITVALUE-TEXTCODE' "-->UR 4 th filed value in screen
value_org = 'S'
TABLES
value_tab = it_value4.
endmodule.
Message was edited by:
veereshbabu ponnada -
Please Help, I want to change field value in a table, based on another field value in the same row (for each added row)
I am using this code :
<HTML>
<HEAD>
<SCRIPT>
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++ ) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[1].cells[i].innerHTML;
switch(newcell.childNodes[0].type) {
case "text":
newcell.childNodes[0].value = "";
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
case "select-one":
newcell.childNodes[0].selectedIndex = 0;
break;}}}
function deleteRow(tableID) {
try {var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
if(rowCount <= 2) {
alert("Cannot delete all the rows.");
break;}
table.deleteRow(i);
rowCount--;
i--;}}}catch(e) {alert(e);}}
</SCRIPT>
</HEAD>
<BODY>
<INPUT type="button" value="Add Row" onClick="addRow('dataTable')" />
<INPUT type="button" value="Delete Row" onClick="deleteRow('dataTable')" />
<TABLE id="dataTable" width="350px" border="1">
<TR>
<TD width="32"></TD>
<TD width="119" align="center"><strong>Activity</strong></TD>
<TD width="177" align="center"><strong>Cost</strong></TD>
</TR>
<TR>
<TD><INPUT type="checkbox" name="chk"/></TD>
<TD>
<select name="s1" id="s1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</TD>
<TD><input type="text" name="txt1" id="txt1"></TD>
</TR>
</TABLE>
</BODY>
</HTML>Hi,
Let me make sure u r working with table control.
First u have to create a event(VALIDATE) to do the validation.
Inside the event,
1. First get the current index where user has pointed the curson
2. Once u get the index read the internal table with index value.
3. Now u can compare the col1 and col2 values and populate the error message.
1. DATA : lo_elt TYPE REF TO if_wd_context_element,
l_index type i.
lo_elt = wdevent->get_context_element( name = 'CONTEXT_ELEMENT' ).
CALL METHOD LO_ELT->GET_INDEX( RECEIVING MY_INDEX = l_index.
above code should be written inside the event.
Thanks, -
Display a message in a For Loop with field value
Hello All,
pls,i wanna display a message in a For Loop with field value the code is:
FOR Q1 IN GET_SUM_EXP_QUANTITY LOOP .
INSERT INTO PLN_PLAN_DISTRIBUTION_WAY
(FIN_YEAR_CODE , MONTH_CODE , MATERIAL_CODE , DISTRIBUTION_WAY , EXPECTED_QUANTITY , GROUP_CODE)
VALUES (:PLN_PLAN.FIN_YEAR_CODE , TO_CHAR(V_FROM_DATE,'MM') , Q1.MATERIAL_CODE , 1 , V_MONTHLY_QTY , Q1.GROUP_CODE);
MESSAGE(':PLN_PLAN.FIN_YEAR_CODE'||:PLN_PLAN.FIN_YEAR_CODE ||' '||'V_FROM_DATE = '||TO_CHAR(V_FROM_DATE,'MM'), 'Q1.MATERIAL_CODE'||' '|| Q1.MATERIAL_CODE||' '||'DISTRIBUTION_WAY'||' = 1'||'EXPECTED_QUANTITY'||' = '|| V_MONTHLY_QTY||'GROUP_CODE'|| ' '|| Q1.GROUP_CODE);
FORMS_DDL('COMMIT');
How 2 display a message with the value:
Q1.MATERIAL_CODE
Q1.GROUP_CODE
message(Q1.MATERIAL_CODE)
gave me numeric or value error on run time when pressed on button
Regards,
Abdetu..Thanks 4 reply..
again they r in a For Loop as mentioned above...
INSERT INTO PLN_PLAN_DISTRIBUTION_WAY
(FIN_YEAR_CODE , MONTH_CODE , MATERIAL_CODE , DISTRIBUTION_WAY , EXPECTED_QUANTITY , GROUP_CODE)
VALUES (:PLN_PLAN.FIN_YEAR_CODE , V_REPAIR_MONTH , Q1.MATERIAL_CODE , 1 , V_REPAIR_Qty , Q1.GROUP_CODE);
FORMS_DDL('COMMIT');
The fields in bold r required to be displayed for testing puposes..
this gives me numeric or value error in runtime..
Best regards,
Abdetu.. -
Table Control: make a field editable or not based on another field value
HI All,
How to make a column field input enabled or disabled based on another field value in a Table Control.
Here's the scenario:
I have a table control with two columns, KTOKK and LIFNR. Now for certain KTOKK, the LIFNR field should be editable and for certain KTOKK it should not be editable.
Eg., KTOKK = 0001 => LIFNR field is not editable.
KTOKK = ZKTO => LIFNR field is editable.
But these fields are in a table control.
Please advice.
Thanks in advance,
RK.Hi RK,
Go through the below link..
how to make special field editable or diseditable in table control?
the code mentioned in the link.. just add ur conditions in the module....
Best Regards,
Brijesh -
Java Message Mapping : Dynamic FileName and Directory for ASMA
How to Put Dynamic FileName and Directory for ASMA Properties of File Receiver adapter in Java Message Mapping ???
I know How to Do this in UDF , But In Java Type Message Mapping . How to do this ????
Regards
PS.Hi
chk this:
http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=95093307
Thanks
Amit -
Message Mapping UDF for lookuping of a value inside field's list of values
Hey everyone,
For a FI mapping I'm working on, I was wondering if somebody has some Java UDF which lookups for a value inside the whole list of values which the mapping gathered for a specific field?
Thanks,
Bensource code --
//write your code here
JCO.Repository myRepository;
// Change the logon information to your own system/user
JCO.Client myConnection = JCO.createClient(
// all the client information namely client ,user id pwd etc
myConnection.connect();
// create repository
myRepository = new JCO.Repository( "SAPLookup", myConnection );
// Create function
JCO.Function function = null;
IFunctionTemplate ft = mRepository.getFunctionTemplate("xxxxx"); //Name of RFC
function = ft.getFunction();
// Obtain parameter list for function
JCO.ParameterList input = function.getImportParameterList();
// Pass function parameters
input.setValue( a , "xxxxx" ); //import parameter of RFC, a is input argument.
myConnection.execute( function );
String ret = function.getExportParameterList().getString( "XXXX" ); //export param
myConnection.disconnect();
return ret;
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
File Lookup in UDF
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/file%2blookup%2bin%2budf
Lookupu2019s in XI made simpler
/people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
SAP XI Lookup API: the Killer
/people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
Webservice Calls From a User Defined Function.
/people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function -
Selectively executing a mapping rule based on a variable value
Hi,
I have written a mapping rule in the following format.
case #time_unit when 'quarter' then
logic1
when 'month' then
logic2
end
In logic1, logic2 i again have nested case statements. Variable time_unit will have a static value hard-coded given (quarter/month) by user before execution.
So Variable time_unit need not be checked for each row that gets transformed. It hits the performance.
I want either logic1 or logic2 to be substituted dynamically in the mapping rule window based on the variable value.
I cannot go for 2 seperate interfaces. How can I achieve this in ODI.
Please help me.
Thanks!!Sarah,
I'm not aware of doing other than BPM. If you want the BPM Steps, Please refer below
Step 1 : Receive
Step 2 : Transformation
Step 3 : Send (Syncronous call to the target system)
Step 4 : Switch(Check the Payload value as per your reqmt)
Step 5 : Transformation(Switch : False ,If the payload value is not ERROR)
Step 6 : What you wanna do ( Switch :True)
If you want more technically, then let me know the source and target systems, I will help you to design
the complete flow.
Best Regards,
raj. -
Want to hide the drop down based on text field value
Hi,
I want to hide some of the values in drop down based on one text field value.
I have the field called name which has the value A, B, C, D and also one drop down list which has the values 1,2,3,4,5,6. I want to hide the some of the values in drop down based on A or B or C. Let say, If it is A, drop down value should be 1,3,5. If it is B, Drop down value should be 1,2,3,4. Like this for every record.
Can you please help me out.
Thanks
RamHi Robert,
I am trying it in two different way. Please suggest which is the right one and feasible.
1) I have the drop down list which has all the status. I am trying to hide the drop down values based on one text field value for all records.
2) I have collected all the drop down values into table in webdynpro method. Rightnow I have two tables.
one has line items details and another one have drop down values. both tables having common fields.
I have to show second table values for that particular key, move all of them to drop down.
Which is the best and feasible option.
Thanks
Ram -
Fill DDL based on other field values in offline interactive adobe form
Hi,
I have a requirement where in i need to fill the values for a dropdown list based on 3 other field values in offline adobe interactive forms which uses web service to interact with SAP.
Note: I read many blogs and posts in SDN , but couldn get much info ab the same, so posting a new thread.
Thank you.
Regards,
SoumyaHi Soumya,
It is possible but a little bit tough and will make your form heavier.
The solution is advisable only when there is not very much data required for the drop down(May be not more than 500 values as it will create performance issue).
You can create a hidden table on the form contaning data for all the combinations. Depending on the selection of another 3 fields you can write the code to select only those values from this hidden table which are applicable to that selection. These values you can add to the drop down list removing the previous values.
Only you have to do is on calculate or vlaidate event of target DDL you have to write your code.
Pseudocode:
1. Clear your DDL using deleteItem() method.
2. Loop at your hidden table.
3. Inside the loop check for applicable entries depending on selection in other 3 fields.
4. Select the appropriate vlaues
5. Add using additem method().
Refer formCalc or JavaScript help for the appropriate code.
Hope this will be helpfull.
Regards,
Vaibhav -
CRM 7.0 WebUI: Second field searchhelp based on first field value
Hi,
I created an all-custom search/result component, all other things are working correctly, except one - on result list, when in change mode, the second field should have a dropdown list which is filled based on the first field value, user can pick one. I searched this forum and SAP docs, so far I haven't found a solution. Has anyone done this? or have you seen any SAP standard screens having this kind of function?
Thanks.
Steven
Edited by: Steven Lee on Apr 23, 2010 11:11 AM
Edited by: Steven Lee on Apr 23, 2010 11:11 AMHi Steven,
1. Declare a Global Drop Down table as an attribute in your implementation class.
2. Create an Event when you select a drop down value for the first field.
3. In this event handler, build the global drop down table.
4. In the get_v method of your second field, fill the returning parameter of dropdown values from the values in your global dropdown table you just filled in the Event Handler method.
I have used this successfully. I hope it works for you too.
Please let me know if you have questions.
Thanks
Vishal -
CRM 7.0 WebUI: Dropdown for second field is based on first field value
Hi,
I created an all-custom search/result component, now having one challenge - requirement is - on result list, when in change mode, the second field should have a dropdown list which is filled based on the first field value, where user can pick one. I searched this forum and SAP docs, so far I haven't found a solution. Has anyone done this? or have you seen any SAP standard screens having this kind of function?
Thanks.
StevenHi Steven,
You will rarely see a result list component in change mode.
Anyhow, to fulfill your requirement, you have to trigger a round trip for the first field when a value is selected.
You can do this by specifying a dummy event in GET_P method.
The GET_V method of the second field will trigger for this round trip and you can trigger the values.
Regards,
Masood Imrani S. -
XSLT mapping to change the DOCREL field value.
Dear All,
There is an IDOC to IDOC scenario where both the inbound IDOC and the outbound IDOC is the same. There is no change in any values of any field except the DOCREL field. The version number should change from 6.02 to 7.3.
I need to write a XSLT mapping program to meet the criteria. As I am new to XSLT mapping, any suggestion is welcome.
Thanks and Regards,
Rana Brata DeHi,
Try putting the desired DOCREL value in the "Seg. release in IDoc type" field in the partner profile of the sender system. This should help you avoid the costly XSLT preparation and the transformation being executed for each message.
Hope this helps,
Greg -
ALV grid Editable based on a Field value
Hi,
I need to make a ALV Grid Row editable based on a particular field of that row.
For example
if fields are A B C D
and if there are three rows of data
I must make the Field B editable in all the rows which have D value as X else it must be non Editable.
I searched in SDN but could not find a suitable answer.
Hope I am clear with my issue.
Regardsthis sample code makes the NETPR field editable based on a desired condition.
this is the solution to your problem.
* TABLES: ekko.
* TYPE-POOLS: slis.
* TYPES: BEGIN OF t_ekko,
* ebeln TYPE ekpo-ebeln,
* ebelp TYPE ekpo-ebelp,
* netpr TYPE ekpo-netpr,
* field_style TYPE lvc_t_styl,
* END OF t_ekko.
*DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
* wa_ekko TYPE t_ekko.
*DATA: it_fieldcat TYPE lvc_t_fcat,
* wa_fieldcat TYPE lvc_s_fcat,
* gd_tab_group TYPE slis_t_sp_group_alv,
* gd_layout TYPE lvc_s_layo,
* gd_repid LIKE sy-repid.
*START-OF-SELECTION.
*SELECT ebeln ebelp netpr
* UP TO 10 ROWS
* FROM ekpo
* INTO CORRESPONDING FIELDS OF TABLE it_ekko.
* DATA ls_stylerow TYPE lvc_s_styl .
* DATA lt_styletab TYPE lvc_t_styl .
** The following code sets it to be disabled(display only) if 'NETPR'
** is gt than 10.
* LOOP AT it_ekko INTO wa_ekko.
* IF wa_ekko-netpr GT 10.
* ls_stylerow-fieldname = 'NETPR' .
* ls_stylerow-style = cl_gui_alv_grid=>mc_style_disabled.
* APPEND ls_stylerow TO wa_ekko-field_style.
* MODIFY it_ekko FROM wa_ekko.
* ENDIF.
* ENDLOOP.
* wa_fieldcat-fieldname = 'EBELN'.
* wa_fieldcat-scrtext_m = 'Purchase Order'.
* wa_fieldcat-col_pos = 1.
* APPEND wa_fieldcat TO it_fieldcat.
* CLEAR wa_fieldcat.
* wa_fieldcat-fieldname = 'EBELP'.
* wa_fieldcat-scrtext_m = 'PO Item'.
* wa_fieldcat-col_pos = 2.
* APPEND wa_fieldcat TO it_fieldcat.
* CLEAR wa_fieldcat.
* wa_fieldcat-fieldname = 'NETPR'.
* wa_fieldcat-scrtext_m = 'Net Price'.
* wa_fieldcat-edit = 'X'. "sets whole column to be editable
* wa_fieldcat-col_pos = 3.
* wa_fieldcat-datatype = 'CURR'.
* APPEND wa_fieldcat TO it_fieldcat.
* CLEAR wa_fieldcat.
* gd_layout-stylefname = 'FIELD_STYLE'.
* gd_layout-zebra = 'X'.
* CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
* EXPORTING
* i_callback_program = sy-repid
* is_layout_lvc = gd_layout
* it_fieldcat_lvc = it_fieldcat
* i_save = 'X'
* TABLES
* t_outtab = it_ekko
Maybe you are looking for
-
Apple remote no longer works under 10.6.2 on Mac Mini
Have just updated my Mac Mini to 10.6.2, only to find that it no longer recognises the white Apple remote at all. I have tried both a paired remote and an unpaired remote. I have even tried pairing the unpaired remote. Nothing works. The Mini simply
-
The title says it all. Please help. Sam
-
Thin vertical white lines across screen
I've got what looks like white vertical pinstripes (alternating 1 and then 2 together) across my screen. What does this indicate? The stripes are white, and do not show up on a white background.
-
Keynote multi-screen presentation
In about two weeks I have a presentation in a room where I have three separate flatscreens at my disposal. I want to use all three of them, at the same time. Using the 2 Thunderbolt ports and HDMI port of my MacBook Pro, I have managed to connect all
-
I have a number of Adobe applications installed that I purchased separately: Illustrator 9, Acrobat Pro 8, Photoshop 6, InDesign CS3 and Dreamweaver CS4. I can't tell by the Adobe site if I am eligible to upgrade to the newest version of all of the