Get File Name in a package
Hi,
I have a interface File to DB. In the source exist many files with name mask ccf_*.txt. Im use a ODIFileWait to start my process, but i cant get the file name to use in my interface. How i do to get the file name processed in the ODIFileWait?
Thanks
I have the same problem...
Similar Messages
-
Determining File Name in Info Package under External Data
Determining File Name in Info Package under External Data
I am on SAP BW 3.0. A System is sending a flat file every few days
With a date time stamp, e.g., d:\loaddar\file_20080212_122300.csv
I know in Info Package one can create routine under external data to determine the file name. I have seen
Examples where people determine file name based on date. Since my file has a time stamp, what code I write a to pick the file. Is there a way to read one or more files and
Determine file name.
I am new to SAP BW and ABAP. However, I have lot of experience with Oracle and Java.
Can someone point me how this will be done. I am looking for some sample code as well.
Thanks in advance. I will really appreciate your help.Hello Prem,
Even i used to get the file suffix with date & time, and i found very difficult to pick up the file from application server using routine in infopackge. Then i asked to change to date only and it was easy to pick the file using routine. But i think in your case files are coming more than once, in such a case you should write a small unix script to add these files and then convert into single file with date only and execute the infopackage to load it.
Cheers!
Sanjiv -
GET FILE NAME C:\temp\ADIBO.txt
Hi,
How to get file name?
I used Get_File_NAME, but I'am getting an error.
lv_lfilename is not the type LOGICAL_FILENAME
C:\temp\ADIBO.txt
I need to get ADIBO ??
tnh, Adibo..:)
I am using this code to download file and after that I need to get FILE_NAME:
DATA: lv_lfilename TYPE string.
PARAMETERS:
pa_lfile TYPE zlocalfile
DEFAULT 'C:temp'.
CONCATENATE pa_lfile ''INTO lv_lfilename.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = lv_lfilename
filetype = 'ASC'
TABLES
data_tab = it_billit_down.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.Hii..
You have to Maintain the Logical filenames and their Physical Paths in Tcode FILE.
Then create a program like this..
REPORT ZSEL_FILES1.
DATA : V_LOGFILE TYPE STRING.
DATA :V_PHYFILE TYPE STRING.
DATA : ITAB TYPE TABLE OF SCARR.
START-OF-SELECTION.
SELECT * FROM SCARR INTO TABLE ITAB.
**To get the Physical file based on the Logical file names - Maintained in Tcode FILE
CALL FUNCTION 'FILE_GET_NAME'
EXPORTING
CLIENT = SY-MANDT
LOGICAL_FILENAME = VlOGFILE
OPERATING_SYSTEM = SY-OPSYS
PARAMETER_1 = ' '
PARAMETER_2 = ' '
PARAMETER_3 = ' '
USE_PRESENTATION_SERVER = ' '
WITH_FILE_EXTENSION = ' '
USE_BUFFER = ' '
ELEMINATE_BLANKS = 'X'
IMPORTING
EMERGENCY_FLAG =
FILE_FORMAT =
FILE_NAME = V_PHYFILE
EXCEPTIONS
FILE_NOT_FOUND = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
**To download the file to PC.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = V_PHYFILE
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = ITAB
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
<b>reward if helpful</b> -
Error in reciever file adapter , where i am getting file name dynamically
hi all,
error in reciever file adapter , where i am getting file name dynamically, please help me in this isssue , i am trying for a long time
MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'ns0:MT_eINVOICE_RECV' found in document', probably configuration error in file adapter (XML parser error)': java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'ns0:MT_eINVOICE_RECV' found in document', probably configuration error in file adapter (XML parser error)'i am getting new error
MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Channel has not been correctly initialized and cannot process messages
this is my strcuture
and i have changed my structure
<HEADER>
<ADDRESS1/>
<ADDRESS2/>
<ADDRESS3/>
<ADDRESS4/>
</HEADER>
<HEADER_GST>
<TAX1/>
<TAX2/>
<TAX3/>
</HEADER_GST>
<LINE>
<QTY/>
<UOM/>
<UNIT_AMT/>
<CHARGE_TO_DT/>
</LINE>
<FILENAME>
<FILENAME/>
</FILENAME>
i have given the recordset structure as
HEADER,HEADER_GST,LINE,FILE -
How to get file name of the form attachment?
Hi,
is there anybody who is able to help me with the following problem???
I started my process from Workspace ES and as a first step I attached one locale file (IMG.JPG or IMG.TIF e.g.) as a form attachment. I used "Attachments" bookmark in the Workspace ES.
I need to get file name of attached file in the process!!!
I tried to use "getTaskAttachments" component to get file name of form attachment but without success. This component successfully obtained attached file an stored it in the variable (type list, subtype document) but didn't produce all file attribute informations such as basename or Content Type:
Is there some possibility to obtain file name (including file extension) by using "standard" tools and components of ALC?
Thanks for your suggestions.Hi LekomDev,
I faced the same situation some time back and this is what I know.
Based on the file type few of the attributes will or will not be populated. (This is what the official documentation says about Document attributes)
The file name that you are looking for would mostly be in 'name' attribute of Document object. The 'wsfilename' attribute is the atrribute which gets used to show the file name into Attachments tab of the workspace.
So, if you are just interested in knowing the filenames then 'name' attribute is the place that you are looking for.
But if you are trying to solve an issue in which Attachments against a Task isn't showing the filenames properly then you would need to copy the 'name' attribute value into 'wsfilename' attribute and then the Attachmetns against a Task would have the correct names.
Tip: Use the Record and Playback option of the workbench to inspect the Document variable and you would see all of the values for a Document variable at desired step in your orchestration.
hope this helps,
cheers,
Parth Pandya
Blog: http://livecyclekarma.wordpress.com -
Need to get file name and directory back from file adapter - WRITE
I am using the file adapter to write a file. I want to log the file name of the file we just created. Since we use a precise timestamp in the file name, I can't accurately guess.
I have an invoke in my BPEL process to the file adapter. My first try was to assign the jca.file.FileName property to a variable, but it never comes back. I looked around and saw plenty of ways to SET the file name for a write and GET the file name for a read, but no GET file name for WRITE.
Anyone have a solution?
Thanks in advance!I think I got your point... You can tell FileAdapter the filename to write, but if you don't then FileAdapter can not tell you the filename that it wrote... I think it is pretty possible Oracle didn't implement the latter, as the write operation is probably asynchronous and the filename is calculated later on...
If what you want is just log, you may achieve your requirement by increasing verbosity on Adapter logs... Have a look at the link bellow...
http://docs.oracle.com/cd/E15586_01/integration.1111/e10226/ad_mon.htm#CJHHBBID
Otherwise, the solution for you will be to calculate filename yourself, and that will be a little bit of reinventing the wheel... But at least you will know the filename...
Cheers,
Vlad -
Keeping file name in picture package
Hi guys,
iam struggling through picture package at the moment,
what i would like to do is to keep the original file name in picture package then when the new files are generated not have to type the old name back in some of the names can be quite elaborate.
Ny62456_IMG for instance i don't mind dropping the IMG but want to keep the file names
thanks
Nikthe images are coded
so that i know where they come from for instance the filename will start with the schools name SK then the yearY6 then the jpeg number the filename would be SKY62109 therefore i know where it has to be sent.
Maybe i am talking complete nonsense to you but in photoshop it works to a reasonable standard and each image is copied and then copy is generated by photoshop after each image. Its just that photoshop is not quick enough or stable enough to process a lot of images
If i exported the file then it would retain the filename
If you can think of a better way of doing this then please tell me i actually started playing with lightroom last saturday so am a beginner
Nik -
Mail Receiver adapter - dynamic file name without mail package
I know that we can get the dynamic attachment name using mail package... As per the FAQ Mail adapter, the Mail package use is deprecated and hence we do not want to go that route.
I have seen the following wiki entry for setting the file attachment name...
http://wiki.sdn.sap.com/wiki/display/XI/Adapter%20Module%20PI%207.0%20Set%20Attachment%20Name?bc=true
Is this the only approach to dynamic attachment name using Mail adapter (and without Mail package). Or a different approach without Adapter module is possible?There is a different approach without using mail package or adapter module.
Have a look at this Wiki:
http://wiki.sdn.sap.com/wiki/display/ESOAInfrastructure/Dynamic+Email+Attachment+name+for+Received+Mails+with+ASMA+and+without+using+mail+package -
Resolving file names from java package
Hello Everyone,
I was wondering if there is a way to get the names of all the java classes inside of a package from my app. What I would like it to do, is to read the names of the classes in the package, and then use reflection to create an instance of each. At the moment, I have a properties file that contains all the class names. The app reads the file and uses reflection to create an object of each. This is not as good for me because i would rather be able to drop a new class into the package and have it work instead of having to edit the properties file first.
So, is it possible get the list of files that are contained in a package?
Thanks,
Bryan CampbellSo, is it possible get the list of files that are
contained in a package?No, but why not let the application scan a folder?
Kaj -
Getting 'binary name' of the package of a given class
I needed this for a kind of dynamic class loader, where the binary name of the package of an object was required. What made it more complex is that the classpath of the object is not the local filesystem path, where the java executable was invoked (such as 'bin' in an eclipse project)
I searched the forum, and didn't find a solution that addresses all of these problems. Finally I came up with my own solution, and I'll share it with you (also because there might be some bright minds who can tell me it can be done much simpler (which I hope))
@SuppressWarnings("null")
public static String getPathFromClass(Class< ? > rootClass) throws FileNotFoundException
String rootPath;
// These are all the possible directories where the package root
// exists (relative to where the java executable might be invoked).
String systemPaths[] = {"bin", "."};
File root = null;
for (String systemPath : systemPaths)
root = new File(systemPath);
if (root.exists())
break;
if (!root.exists() || !root.isDirectory())
throw new FileNotFoundException("No package root found");
rootPath = root.getAbsolutePath();
String localPath;
try
localPath = new File(rootClass.getResource(".").toURI()).getPath();
catch (URISyntaxException e)
// Should never happen; Hack to prevent unjust error.
localPath = "";
if (!localPath.startsWith(rootPath))
// What's going on ??
throw new FileNotFoundException("Class' local path not inside package root");
return localPath.substring(rootPath.length() + 1).replace(File.separatorChar, '.');
}Example:
main class is in c:\projects\test\bin\test\mj\foo\Main.class (package declaration sais "test.mj.foo".)
java.exe is executed from c:\projects\test\
calling this method with an instance of the Main class returns: "test.mj.foo".As far as I can tell it just returns the package root (such as "c:\projects\test\bin"), but because of that, it does greatly simplify the first part of my function. Thanks.
String rootPath = new File(rootClass.getProtectionDomain().getCodeSource().getLocation().toURI()).getPath();
String localPath;
...A binary name (as mentioned in the Java Language Specification) is a representation of a fully qualified java class, such as "java.lang.String". A "binary name of a package" as I mentioned is just my way of meaning anything like "java.lang". -
Hi all,
how to find a .txt file in a particular folder. My text file comes with
following name <fixed_name>.<mmddyy><hhmmss>, e.g., fn_fnprod.102806015605
so how to get this file name. nd also tell me if there are multiple files
then how to retrieve the oldest one first and so on....
Thanks & Regards
Gauravit's fine but how to know which is older file b'cpz
this file comes every day with new date & time. so
what if there a multiple file. nd i have proceed
oldest first.
pls help asapget each file last modifed, using file.lastModified() method and compare which file you would be needing. =) -
Get File name from incoming IDoc
HI All,
I am in an IDOC to File scenario using Fcc. (R/3 --> XI --> 3rd party)
I need to use the idoc-number(EDI_DC40-Docnum) as my output file name. I planned using variable substitution but there it expects me to get the idoc number from payload which I do not have it in. (refer c ode below)
As I understand, variable substitution can be used only on payload(the FINAL data set that we will be writing to the file).
Can we use the data which is part of incoming IDOC and not part of payload(final data what we are writing to file).??
Other idea was to map this IDOC no to a field in final file, but this field should not be written in the output file, so am confused about how to achieve this.
E.g
*Incoming Data*
IDOC
|_EDI_DC40
|_DOCNUM
Final data (Payload)
Header
Data
Trailer
As seen in my example above I do not have the IDOC no in the final data so how do I use the Idoc no as my filename? Apprecaite your help on same.
Regards
ShirinHi
You can use dynamic configuration to get the file name .
Use Adapter Specific Message Attributes for the target Comm Chanel check the indicator for filename in the advanced tab of CC
create a UDF with i/p as file name i.e the Idocnum field and
paste this code
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
//conf.removeAll();
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
//String filename= conf.get(key);
conf.put(key, fileName);
key= null;
return fileName;
PS: use cache as value in UDF
ands assign the o/p of this UDF to a root node -
Hello world,
Am writing a small server application that can accept files and save them locally. Now, the server is working, but am finding it very hard to get the name of the file that's been sent so that I can save the file with that name and its extension.
e.g. I want if I sent a hello.java file, then, the server will save it as hello.java. But at the moment, its not saving it like that because there is no way can get the name of the file from the client.
Here is my code:
import java.io.*;
import java.net.*;
class Server {
static final String ToSave = "C:\\";
static final int PORT = 2391;
public static void main(String args[]) {
while ( true ) {
try {
ServerSocket socketServer = new ServerSocket(PORT);
Socket socket = socketServer.accept();
//Assuming we have a file name (FILENAME)from client
FileOutputStream fos = new FileOutputStream(ToSave + FILENAME);//<--HERE IS WERE i WANT THE FILENAME
BufferedOutputStream out = new BufferedOutputStream(fos);
BufferedInputStream in = new BufferedInputStream( socket.getInputStream() );
int i;
while ((i = in.read()) != -1) {
out.write(i);
out.flush();
in.close();
out.close();
socket.close();
socketServer.close();
System.out.println("Transfer complete.");
catch(Exception e) {
System.out.print( e );
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
System.err.println("Interrupted");
}You have to define a protocol which enables the
client to tell the server the file name.
BTW creating server sockets inside a loop is not a
good idea.
Thank you very much :)
I've got the idea on how to implement it now. All I have to do is:
first connect to the server and send a message containing the name of the file and then, at the server end, I will receive the name and use it to save to incoming file.
Thanks again. -
How can I get file name using JSTL ?
Hi,
I'm now using <c:out value="${pageContext.request.requestURI}"/>
this return servlet path
How can I get just file name
or user path (in location bar) ?
thanks in advanceThe original uri (before forwarding) is available in a request scoped attribute.
These attributes are given the values obtained by calling the related method on the original request received by the container.
javax.servlet.forward.request_uri
javax.servlet.forward.context_path
javax.servlet.forward.servlet_path
javax.servlet.forward.path_info
javax.servlet.forward.query_stringSo if those two above don't work for you these might.
<c:out value="${requestScope['javax.servlet.forward.request_uri']}"/>
<c:out value="${requestScope['javax.servlet.forward.servlet_path']}"/>If these values are null, then the value in the request object is the correct one.
You mentioned the value in the address bar being a .html file. Do you perchance use framesets? If so the value in the address bar is always the url used to load the frameset, and doesn't change no matter where you travel within those frames. That won't be available to the server, because it has nothing to do with the current request.
Cheers,
evnafets -
Hello All,
Using a single receiver communication channel I have to generate 2 output files.
One output file name is OUTPUT.txt and the second output file name is OUTPUT<YYYYMMDD>.txt
I am generating first output file name using standard file name scheme.
And for generating second output file name I am using Run OS command option.
can some one tell me the OS command to get the file name OUTPUT<YYYYMMDD>.txt?
Thanx,
Regards,
MoorthyWe would really like like to know how you are going to create 2 file (with different names) using same CC.
If you are going to use "Add timestamp" then both the files will have timestamp at the end (unlike your requirement for the first file).
I think its better to create 2 CC ..first with output.txt and the other OUTPUT<YYYYMMDD>.txt
Also, please tell us more about ur requirment..if the content is same then..u can simply use a CC and use OS command (after processing option ) to copy it to the other location with required file name (OUTPUT<YYYYMMDD>.txt)
Something like this if u r using unix system and both the files are at same location:
cp OUTPUT.txt OUTPUT2.txt
Maybe you are looking for
-
My ipod touch 5th gen wont turn on
Help! 5th gen iPod touch won't turn on or connect to computer!
-
The app panel does not load in the Creative Cloud Desktop application
I am having the same problem with illustrator.. Don't want to waste my money on something that doesn't work.
-
Connect to Airport Express and Wireless Router (Linksys) at the same time?
I have a laptop that connects to a Linksys wireless G (WRT54G) router. I just got an Airport Express to play iTunes wirelessly over my stereo. Is there a way to connect to both the Linksys router and the Airport at the same time - i.e., connect to th
-
I have a standalone architecture and want to connect to the existing database using Java. Oracle offers database drivers for instance the class oracleDriver.class. Can I use this driver for my wanted connection or have I to look for a driver offered
-
Transport error: "Only edit objects from package CL in local requests"
I have made changes to an SAP original program as per Note 1096366 on SAP's service web site. The program is an Include program (LCLCMFMZ). I have assigned it a transport number, but it keeps trying to make the target local. When I change the target