To have a field value in FileName
Hi All,
I am doing an IDOC to XML File scenario.
My requirement is to create multiple files at the target with the Filename having a field Value in it.
In the mapping i will be using RFC calls which will return multiple records and if my RFC returns 3 records, i will need to create 3 Files at the target. which will have the filename taken from a value returned from the RFC.
I tried using Dynamic configuration, since it uses PUT method i got the same name repeated again since it cannot be used for multiple targets.
I tried using variable substitution also, since my target is an XML i will end up in creating an extra node if mapped and i need the filename having timestamp in a desired format.
Could anyone help me in this.
Waiting for your reply
Regards,
Sherin Jose P
Hi,
You can use the 1:n mapping here. Now depending on the number of records returned by RFC, you can create those many nodes. In your case, what you could do, add a field in the target structure at the root level, set the file name in this field. Then in the file adapter, use an adapter module to set the file name in the dynamic configuration, and then delete this node from the XML in the same module. This should solve the purpose.
Thanks and Regards,
Sarath
Similar Messages
-
Selection screen field value capturing
Hi,
I have developed a report for displaying amendment changes in a purchse order. The input are purchase order
and plant. Now they have asked for an additional input of version field, which should also have F4 field-value help.
For version field, default there is no F4 key. So, i have written code like after entering the PO number when we press the enter key, for the corresponding PO, it brings the version no in input field. But my problem is it is displaying the values for version field, but when i select some value it is not getting updated in selection-screen version field. I have attached my code below... please help me
in the below code my problem is only between
AT SELECTION-SCREEN on value-request for P_REVNO.
and
start-of-selection event...
TABLES : ekko,
ekpo,
cdhdr,
cdpos,
MEPO1325,
t001,
t166c,
t166t,
adrc,
komp, " net rate of header
konv, " net value of purchase order
zammendpodet.
TYPES : BEGIN OF ts_cdpos,
ebeln TYPE ekbe-ebeln,
ebelp TYPE ekbe-ebelp,
matnr type ekpo-matnr,
maktx type makt-maktx,
prdat type ekpo-prdat,
belnr TYPE ekbe-belnr,
budat TYPE ekbe-budat,
tkey(70),
txz01 TYPE ekpo-txz01,
ctxnr TYPE t166c-ctxnr,
desp(20) type C,
MEINS LIKE MARA-MEINS,
chtxt TYPE t166t-chtxt.
INCLUDE STRUCTURE cdpos.
TYPES : END OF ts_cdpos.
data : begin of it_makt occurs 0,
matnr like makt-matnr,
maktx like makt-maktx,
end of it_makt.
data : begin of it_maRA occurs 0,
matnr like maRA-matnr,
mEINS like maRA-mEINS,
end of it_maRA.
*Internal table declartion
DATA : it_erev TYPE TABLE OF erev WITH HEADER LINE,
it_ekko1 type table of ekko with header line,
it_konv2 type table of konv with header line,
it_ekpo TYPE TABLE OF ekpo WITH HEADER LINE,
it_ekpo1 TYPE TABLE OF ekpo WITH HEADER LINE,
it_cdhdr TYPE TABLE OF cdhdr WITH HEADER LINE,
it_t166c TYPE TABLE OF t166c WITH HEADER LINE,
it_ekbe TYPE TABLE OF ekbe WITH HEADER LINE,
IT_AMMEND TYPE TABLE OF ZAMMENDPODET WITH HEADER LINE,
IT_AMMEND1 TYPE TABLE OF ZAMMENDPODET WITH HEADER LINE,
it_komp TYPE TABLE OF KOMP WITH HEADER LINE,
it_konv type table of konv with header line,
it_konv1 type table of konv with header line,
it_cdpos TYPE TABLE OF ts_cdpos WITH HEADER LINE.
data : BEGIN OF it_erev1 occurs 0,
revno TYPE erev-revno.
data : end of it_erev1.
data : begin of it_cdpos1 occurs 0.
include structure cdpos.
data : ebeln like ekko-ebeln,
item like ekpo-ebelp,
aedat like ekpo-aedat,
matnr like ekpo-matnr,
txz01 like ekpo-txz01,
desp(20) type C,
MEINS LIKE MARA-MEINS,
item1 like ekpo-netpr.
data : end of it_cdpos1.
types : dy_temp TYPE lips-lgort.
DATA : dyfields LIKE dynpread OCCURS 1 WITH HEADER LINE, dy_value TYPE dy_temp.
DATA: progname TYPE sy-repid,
dynnum TYPE sy-dynnr,
dynpro_values TYPE TABLE OF dynpread,
field_value LIKE LINE OF dynpro_values.
*Work variable declaration
DATA : v_revno TYPE erev-revno,
revno1 type zammendpodet-revno,
w_version TYPE erev-revno,
w_erdat TYPE erev-erdat,
w_eruhr TYPE erev-eruhr,
wv_eruhr TYPE erev-eruhr,
v_tabkey TYPE cdpos-tabkey,
v_temp(5),
v_olddate(8),
v_newdate(8),
v_value_old TYPE cdpos-value_old,
V_OLD TYPE EKPO-BRTWR, " OLD VALUE FOR PURCHASE ORDER
l_ind TYPE i,
temp value 0 type i,
temp1 type i,
temp2 type i,
temp3 type i,
wa_cdpos like line of it_cdpos,
wa_cdpos1 like line of it_cdpos1,
v_tabkey1 TYPE cdpos-tabkey.
PARAMETERS : p_ebeln TYPE ekko-ebeln,
p_ebelp TYPE ekpo-ebelp.
p_bukrs TYPE t001-bukrs,
p_revno type erev-revno.
INITIALIZATION.
AT SELECTION-SCREEN on value-request for P_REVNO.
CLEAR: dyfields[], dyfields.
dyfields-fieldname = 'P_REVNO'.
APPEND dyfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = dyfields.
READ TABLE dyfields INDEX 1.
SELECT revno
FROM erev
INTO TABLE it_erev1 WHERE edokn = p_ebeln.
IF sy-subrc = 0.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'REVNO'
dynpprog = progname
dynpnr = dynnum
dynprofield = 'P_REVNO'
value_org = 'S'
TABLES
value_tab = it_eREV1
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
START-OF-SELECTION.
SELECT SINGLE *
FROM t001
WHERE bukrs EQ p_bukrs.
IF sy-subrc EQ 0.
SELECT SINGLE *
FROM adrc
WHERE addrnumber EQ t001-adrnr.
ENDIF.
SELECT SINGLE *
FROM ekko
WHERE ebeln
EQ p_ebeln
AND frgke = 2.
select * from konv into corresponding fields of table it_konv where knumv eq ekko-knumv.
useful informations will be rewarded.
thanks and regards,
subbu.,Hi ,
Use this function module
call function 'DYNP_VALUES_UPDATE'
exporting
dyname = sy-repid
dynumb = sy-dynnr
tables
dynpfields = t_dynpfields
exceptions
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
others = 8.
where t_dynpfields would contain name of field and value you want to update.
Please reward if useful. -
Can you mask a field value based on another?
In XML publisher, is it possible to not display field values based on a value from another field? If so, how can this be accomplished?
For example, I have a field value for Address Line 1 as "123 Main Street". I don't want the City, State, Zip, County and Country to be be displayed in the pdf output. However, all other Address Line 1 values should be displayed.
Thanks in advance,
-joePLD is a very basic tool. The goal you try to achieve may not be available as I know of.
Thanks,
Gordon -
Field 'record_EMP_ID' doesn't have a default value
I solved org.hibernate.TransientObjectException by adding "@OneToMany(fetch=FetchType.EAGER, cascade=CascadeType.ALL)"
But this time values can't be inserted to DB.
OS : Windows 7
JDK : JDK 1.6
JBoss : JBoss 5.1.0.GA
DB : MySQL 5.5
Error is "Field 'record_EMP_ID' doesn't have a default value"
- Members.java
@Entity
@Table(name = "family")
public class Members implements Serializable {
@Id
@Column(name = "EMP_ID")
private String id ;
@Column(name = "EMP_Passwd")
private String passwd ;
@Column(name = "EMP_Name")
private String name ;
@OneToMany(fetch=FetchType.EAGER, cascade=CascadeType.ALL)
@JoinTable(name="info", joinColumns = {@JoinColumn(name = "EMP_Name")})
private Collection<Records> record = new ArrayList();
....getter and setter
- Records.java
@Entity
@Table(name = "info")
public class Records implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "EMP_ID")
private int i;
@Column(name = "EMP_Name")
private String name;
@Column(name = "EMP_Bank_Account")
private String account;
@Column(name = "EMP_Hobby")
private String hobby;
@Column(name = "EMP_Phone")
private int phone;
...getter and setter method
in jsp file I invoke EntityManager.persist
Context ctx = new InitialContext();
IMappingTestPort port = (IMappingTestPort) ctx.lookup("MappingTestBean/remote");
Records r = new Records();
r.setName("aaa");
r.setAccount("111-2222");
r.setHobby("bbb");
r.setPhone(021112222);
Members m = new Members();
m.setId("aupres");
m.setPasswd("aaa");
m.setName("ccc");
m.getRecord().add(r);
port.setFamilyMember(m); // This EntityManager.persist method
But it failed.
In console
20:21:29,233 INFO [STDOUT] Hibernate: insert into family (EMP_Name, EMP_Passwd, EMP_ID) values (?, ?, ?)
20:21:29,268 INFO [STDOUT] Hibernate: insert into info (EMP_Bank_Account, EMP_Hobby, EMP_Name, EMP_Phone) values (?, ?, ?, ?)
20:21:29,288 WARN [JDBCExceptionReporter] SQL Error: 1364, SQLState: HY000
20:21:29,288 ERROR [JDBCExceptionReporter] Field 'record_EMP_ID' doesn't have a default value
record_EMP_ID is automatically generated by hibernate
Pls help!An update:
New virtual machines created after the integration is in place is visible in Virtual Machine Health Dashboard. No other dashboards seems to contain any data. -
SCAC Field Should have Drop Down Values and ASN should have Storage locatio
Hi ,
We have a requirement while creating ASN in which we have to add SCAC ID in the SCAC field ( Carrier) this SCAC ID comes in Shipping details - We want to have drop down values in this field and also if we dont enter value in this field An Error Message should come like " Maintain SCAC code.
And also the PO's coming from ECC are not carrying Storage location information - Is there a specific config / enhancement to be done.
And in ASN can we have Storage location ?
Thanks,
MaheshHi Mahesh
Regarding adding fields to UI
Refer below links
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0b0e544-7a06-2d10-539d-f8648358ba67?quicklink=index&overridelayout=true
http://wiki.sdn.sap.com/wiki/display/SCM/SAPSupplyNetworkCollaboration%28SAP+SNC%29
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/908c1e69-0a01-2d10-e7a6-98ca00f19aa6?quicklink=index&overridelayout=true
Not sure how to maintain it as a drop down, a developer could help you easily with that.
Regarding Storage location from PO ECC.
If you are using idocs, the standard SAP xml conversion will not be able to transfer this(if you download standard content)
You can find the field in your IDOC ORDERS05, Data records-Segement-E1EDP01FIELDLGORD
In order to transfer this, you need to rewrite the xml format in integration builder of XI/PI and then add some UI fields in Webui
to show.
But xml PurchaseOrderERPReplenishmentOrderCollaborationNotification as of SAP ECC EHP4 can carry this information in its payload document(SXI_MONITOR---INBOUND MESSAGE ---PAYLOADS) Under the node INVENTORY MANAGED LOCATION
Not sure where this field is mapped to .........
I will let you know once i find........Mean while you can ask any developer who worked on webdynpro .
Yes we can have this field once we find where it is mapping, if you are using idocs then even the XML has to be build in PI
accordingly.
Best Regards
Vinod -
How do i have subsequent fields label and values move down the page dynamic
how do i have subsequent fields label and values move down the page dynamicly...
the field in question "can grow" and can become quite big...overlaping the content of the fileds below...how can i make the fields below this large field move dyanmically so there is no overlap?if it is the same field and it is set to can grow you just need to make sure you put space between by inserting a section below
-
How can I add form field value to the file name in save as dialog box
I do not want the form to be saved automatically, just want the form to auto populate the "file name" only.
A little background on the forms I want to use: My company has 70 retail outlets, I'll use one of our pdf forms called an "Incident Report" as an example. I would like for a store manager to be able to complete the form, then email the form to the main office (I already have javascript to add field values and form name to the email subject line), once the main office receives it, I want for them to be able to file the pdf electronically on our server. We have mutliple forms that we use so I do not want any of the forms to automatically save anywhere, (at this time anyway) I just want the office personnel to be able to click "save as" (or whatever they will need to click) and the form automatically add certain field values from the pdf they have received, of which will be different each time the form is sent to the office (Date, store #, employee name etc.) in addition to the name of the form in the "File name" of the "Save As" dialog box. The main office employees will decide into which server file the pdf should be saved.
I'm using Acrobat 8 professional, the stores and office personnel use Adobe reader.
One little note: We currently print and file a lot of paper on a daily bases, as soon as I can get this to work, we are going green.
Me and a lot of trees in this will really apprecitate any help you can give with this! :-)You might want to take a look at the document "Developing Acrobat Applications Using JavaScript" (js_developer_guide.pdf) which is part of the Adobe Acrobat SDK, which can be downloaded here. Read the "Privileged versus non-privileged context" (p. 45ff.). You will find an example for "Executing privileged methods in a non-privileged context". Should be almost exactly what you are looking for.
Small Outline: For security reasons ("the user always has to know what's going on") you are not allowed to use the "Doc.saveAs"-method without the user permission (--> in a non-privileged context). In order to reach the goal of a privileged context you can use a trusted function. You do this by creating a JavaScript file (*.js) in either the Application-JavaScript-Folder (default location on Windows systems: "%ProgramFiles%\Adobe\Acrobat 10.0\Acrobat\Javascripts") or the User-JavaScript-Folder (default location on Windows systems: "%AppData%\Adobe\Acrobat\10.0\JavaScripts"). Add the following content to the new file:
myTrustedBrowseForDoc = app.trustedFunction( function ( oArgs ) {
app.beginPriv();
var myTrustedRetn = app.browseForDoc( oArgs );
app.endPriv();
return myTrustedRetn;
myTrustedSaveAs = app.trustedFunction( function ( doc, oArgs ) {
app.beginPriv();
var myTrustedRetn = doc.saveAs( oArgs );
app.endPriv();
return myTrustedRetn;
The developer guide actually wants you to add this content to the existing "config.js" file. I recommend creating a new file, since its easier to deploy in a network. Either way, every client/user who needs to be able to save documents this way, needs this JavaScript Code in his Application/User-JavaScript-Folder.
Within the Acrobat Document, which you want to obtain a certain file name, you can now use the trusted functions "myTrustedBrowseForDoc" and "myTrustedSaveAs" to store the file. To call the trusted functions and deliver the file name you can either you use a form field (button) or you add a new menu item. Add the following JavaScript Action to the button/menu item and change "Roller Coaster" to the name of the field which contains the value which you want to become the new file name:
var fileName = this.getField("Roller Coaster").valueAsString;
try {
var oRetn = myTrustedBrowseForDoc({bSave: true, cFilenameInit: fileName + ".pdf"});
try {
myTrustedSaveAs(this, { cPath: oRetn.cPath, cFS:oRetn.cFS });
catch(e) {
console.println("Save not allowed, perhaps readonly.");
catch(e) {
console.println("User cancelled Save As dialog box");
Good Luck! -
Populating the field value onto a field
Hi,
I have a field in the selection screen by which a date value is entered by a selecting the variant.
There is another field(which contains an server path) this needs to this we need to concatenate the date that is entered in the selection screen
If field Date field contains u201C15th SEP 2008 u201C then field Server directory should contain u201C/usr/sap/interfaces/dynevo/20080915.TXTu201D .
this should happen before executing the program.
Please needs some suggestions in this.
ThanksHi,
Use 'DYNP_VALUES_READ' Function module to read the value entered on the selection screen
refer this thread
Re: After F4IF_INT_TABLE_VALUE_REQUEST Enter Required?
You can also refer this thread
Error in FM 'DYNP_VaLUEs_READ'
then populate filename.
Regards
Manasa
Edited by: Manasa Bhaskaruni on Nov 14, 2008 12:27 PM -
Can file name get from partial field value ?
Hi, Friend:
I have file receiver with FCC, I used variable substitution (I have to use this rather than dynamic configuration, since there are multiple files created by multi-mapping), so the file name is pass via payload to adapter.
In advanced tab, we can assigned to a variable like: payload:MT_XXXX,1,Filename,1
Now I do not want full value of Filename, I just need part of the value of it.
I will not consider an option of create another field to store part of the value, since after FCC, a blank line is created which is not acceptable by our integration partner.
Is there any way to get it ?
Thanks
LiangKevin:
If you can see from what Madhusudana Reddy suggested:
I created a node, saying "Tail" in end of structure, add one child node to it saying "Filename"
Now in my mapping program, I can pass real file name I wanted to child node "Filename"
In Variable substitution, I get the whole value of the node "Filename" when we naming the created file.
In FCC, I used Madhusudana suggested, it would not created blank line when using Tail.endSeparator '0'
Hope this give you some hints
@Carlos:
Java Mapping is different approach which we do not want to go at this stage.
Regars
Liang -
How to avoid the truncation of field values in select-options
Hi all,
I have a requirement where i have used select-options to select multiple filenames. I have taken the filename of type rlgrap-filename(128 char) But the problem is in select-options if the values of the filename which is selected has length ( i.e the length of the selected field value) exceeds 45 character , then he remaining charactes are truncated. Hence i am not able to get the
correct field value in the internal table of the select-options.
i came to know that if NO_DISPLAY addition is used then this truncation wont occur. But in my case user has to select the files and hence this addition cannot be used.
please let me know if anyone has a solution for this or if there is any other way to select multiple entries in selection screen.
Regards
Manipal parkalarlgrap-filename is having the length of only 128 characters.If the file path exceeds 128 characters then the rest will get truncated.If you file name exceeds more than 128 characters and the pafth is fixed,then harcode the entire path in the program and later on concatenate the path and the file name into a string which can be used for further processing.
paramters:p_file like rlgrap-filename.
here just give the filename as say 1234.XLS.(Assuming that you are not browsing for the file using F4_filename).
In the program harcode the path say C:\Documents and setting\sapworkdir\user\.
Now concaternate these two and pass it to string which can be used for further processing.
If the user intneds to browse the file and the path name exceeds 128 characters then follow the way to delcare the paramter in the selection screen as said above.If it is working for parameters then I think it should be working for select option also. -
Unable to capture field values in Master agreement Line Items
I am trying to get the field values from master agreement line items page. I have written the following code to get the line item details which is working fine to capture part number and quantity->
agreementBean = doc.getRootParentIBean();
lineItemCollection = agreementBean.getLineItems();
collectionsize = lineItemCollection.size();
for(i=0;i<collectionsize;i++){
collectionbean = lineItemCollection.get(i);
partNum = ""+collectionbean.getPartNumber() ;
Quantity = ""+collectionbean.getQuantity();
throw doc.createApplicationException(null,partNum + " , " + Quantity );
Now, my problem is that I am unable to capture the following field item values in the master agreement > line items page.
1. Price Unit
2. Unit Price
3. Product Category
4. Plant
Please help me to find the values.
Thankx in Advance.
Su
Edited by: subrataindra on Aug 10, 2010 11:11 AMThis will return the name of the plant.
.getExtensionField("PLANT").get().getDisplayName(session);
Check if this returns the product category
collectionbean.getExtensionField("ITEM_CAT").get().getDisplayName();
This will Return the Price
collectionbean.getExtensionField("PRICE").get().getPrice();
(return type :BigDecimal)
This will return the currency
collectionbean.getExtensionField("PRICE").get().getCurrency;
(Return type:String)
Similarly to retrieve other fields for which there are no standard functions, use .getExtensionField("Field ID")
Hope this helps
Regards,
Immanuel -
Unable to capture Input field value on BSP page
Hi
I have copied ROS (SRM) standard application ROS_PRESCREEN3 into custom and added one input field .
Now when user enters some value in it , i am not able to get that value in my back-hand code.
I have treid the availble code on Fourm , its not working .
Regards
RaulHi ,
I am getting the input field values in my back hand using MVC .
Regards
Raul -
How can I pass field value betwen view in ICWC?
Hi experts,
I am new to this BSP programming. I have some requirements to modify standard ICWC in CRM 5.0
Hope can get some advices and helps here.
I have added a new field called <status> to context note SEARCHCUSTOMER in BupaSearchB2B view and also the same field name to context note CUSTOMER in BupaCreate view.
I have added the field into both the HTM views and able to execute thru WebClient. However, I have one problem in passing the <status> value from BupaSearchB2B view to the BupaCreate view when I click on the 'create' button.
I do search and saw this thread How can I pass field value beetwen view in IC Web Client? , but i cant figure out how it works.
Do I need to create the field <status> to context note CUSTOMER in BupaSearchB2B? Currently the context note does not have any attributes.
Really appreciate for any help.
Edited by: mervyn tay on Apr 7, 2009 11:42 AMsolved by myself...
code in the CREATE_ACCOUNT method.
ev_entity->set_property( iv_attr_name = 'ZZICNO'
iv_value = lv_icnum1 ). -
File to RFC/BAPI - Async- How to capture response field value
Hi,
I am doing File to RFC/BAPI Scenario. I have Two BAPI's. THe same source xml file is mapped to the Two Target BAPI's.
For the first flow i.e File to BAPI1, I need to capture BAPI Response, field value and pass this value as Input to the BAPI2.
How do I proceed with the Mapping. I am working on PI 7.1
Any input would be Appreciated.
Thanks & Regards,
VarunHi Varun,
apparently you need a Business Process:
XML -> BP (asynchronous), Map to Bapi1 request structure
BP -> BAPI 1 (synchronous)
Transformations step with multi mapping merging XML and Bapi1 response to Bapi2 request structure
BP-> BAPI2
Regards,
Udo -
Repeat Text Field Value on Master page
This might be a really simple question. I have a form with two master pages. The second is applied to all but the first page. On the second master page I have a text field that I populate with user entered data from a text field. I want this value to show on all pages after the first page (page 2 to n). It shows up with the value on page 2, but all the rest have a blank value. Do I need to script something to make it repeat for all pages? Any help would be appreciated.
The simpliest method would be:
Under the Object tab, select Binding, and change the Default Binding to Global. The TextFields you create must have the same name, and Global binding will populate all the fields.
Maybe you are looking for
-
Exchange will not sync correctly
OK....all other email client work fine including Google hotmail etc. Exchange i can set up and it will sync and all my existing mail is loaded.then it will not download anything else even though the sync says its working. The other account sync fin
-
I have three aperture libraries. But just recently two of them (old from 2011) will not open. I get the following error: There was an error opening the database for the library "~/Pictures/Family IIi.aplibrary". Please help, thanks
-
Better software than Stickies (go with iCal and Omni Focus and Dropbox)
I love iCal and I am digging Omni Focus. I use Dropbox. Is there something a little better than Stickies to go with this suite? Is there a better place to post this? Thanks
-
Can we target external display on iOS?
Is there any way to target the external display (for example, composite output through dock connector) of an iOS device in AIR? Not mirrored, but instead content that differs from what appears on the iOS device itself. I've seen discussion and demons
-
Best way to add mass unorganized mp3 library to iTunes to stream on AppleTV
Ok so I have a fairly large mp3 collection(well over 100 GB). It is somewhat organized. It is all on an external HDD under the folder music then from there there are subfolders for genres, then bands, then albums. I am not sure I want to add all o