Flat Files: Use of Business Content or not?
Hello Experts,
I am wondering, with all the extra effort in the research to identify Cubes with preferred fields for a BW project, especailly if the source is a flat file, what actually are the advantages of going through this analysis to use the SAP delivered objects.
Thanks in advance.
Hi Amanda,
If you are on a project in the functional area which is already covered by SAP, then it is preferrable to make an analysis of business content objects. Even if you are going to use flat files for data upload, predelivered infosources, ODSs, cubes, TRs and URs, queries may save you a lot of time.
Search help.sap.com for your functional area looking for infoobjects and providers. Try to evaluate if they are useful. Certainly, some knowledge in the func area is a great advantage.
Search business content in the func area. You may even simulate BC installation. For example, choose a cube, with data flow before and after and gather objects. The scope of these objects may give your some hints to evaluate.
If there is just one, yours, project on a BW instance, then you can use or even modify BC objects that you found. Master data loaded will not interfere with the other projects.
If the func area of your project is not covered by SAP, then, most likely, youll be able to use just a few BC objects, all the others youll have to create.
Sometimes, even if you are in the func area for which youll find predelivered objects, its more suitable to make copies of such objects and modify them deleting attributes that youll never use. Use of such standard infoobjects with many attributes may fource users to ask a lot of questions about these attributes (why, whats this, what for etc.). Moreover, if these attributes are not used, youll prepare your flat files with a lot of blank fields for the attributes. Consider also an extra DB space for them.
Doing the project almost from the scratch (with minimal usage of BC objects) will require very careful conceptual design of the data model.
Best regards,
Eugene
Similar Messages
-
Idoc to flat file using Integration process does not show up at all
Hello All,
I created a scenario IDOC to Flat File using Integration Process and one without IntegrationProcess. I am able to execute the one without Integration Process easily.
However when I send the IDOC from SAP then the Integration Process scenario just does not work.
I Checked SXMB_MONI There is no entry for the Integration Process.I can see entry for other without Integration Process.
SXI_CACHE : I can see my Integration Process active
SWEQADM : I have activated the Event Queue and Background job
SWF_XI_ADM_BPE : ALL BPE is showing green status.
All syntax check on IP are fine.
There is no Basis Help for me so there could be some additional basis steps which need to be configured. Has anyone faced such an issue with Integration Process?
Regards
PrashantaHope this might help you. when u configure an IDoc as Sender with BPM this is how you proceed.
<b>1<b>. let us split the scenario into two</b>.</b>
a. <b>Sender to BPM</b> ( Integration Process).
b. <b>BPM to Receiver</b>.
<b>2. First let us configure the first Sender to BPM.</b>
a. Sender Agreement( <b>Not required</b> ).
b. Receiver Agreement( <b>NOT Required</b>).
c. Receiver Determination( Sender Service, Outbound Interface, Receiver Service(<b>Integration Process</b>).
d. Interface Determination( Inbound Interface(Sender Abstract Interface), Message Mapping(NOT Required if your using transformation stepin Integration Process)).
<b>3. Now let us configure the Second BPM to Receiver.</b>
a. Sender Agreement( <b>NOT Required</b>)
b. Receiver Agreement( Sender Service(<b>Integration process</b>), Receiver Abstarct Interface,Receiver service, Inbound Interface).
c. Receiver Determination( Sender Service(Integration Process), Receiver Abstarct Interface,Receiver Service).
d. Interface Determination( Inbound Interface, Message Mapping(<b>NOT Required</b>)).
So Finally we have <b>One Receiver Agreement</b>, <b>Two Receiver Determinations</b>, <b>Two Interface Determinations</b>.
Please let me know if you have any more queries.
Regards
Gopi -
Writing to a flat file using UTL in a procedure
Hello All,
I am creating a procedure in which I am trying to write data to a flat file using UTL. Code is shown below:
CREATE OR REPLACE PROCEDURE wrt_lifungduty IS
sql_stmt varchar2(200);
sql_stmt1 varchar2(200);
sql_stmt2 varchar2(200);
v_cur_hdl integer;
v_rows_processed BINARY_INTEGER;
V_file UTL_FILE.FILE_TYPE;
V_flatfile_line VARCHAR2(98) := NULL;
V_OBLIGATION_KEY NUMBER(10);
V_OBLIGATION_LEVEL VARCHAR2(6);
V_KEY_VALUE_1 VARCHAR2(20);
V_KEY_VALUE_2 VARCHAR2(20);
V_PARTNER_TYPE VARCHAR2(6);
V_PARTNER_ID VARCHAR2(10);
V_EXT_INVC_NO VARCHAR2(30);
V_EXT_INVC_DATE DATE;
V_PAID_DATE DATE;
V_PAID_AMT NUMBER(20,4);
V_COMP_ID VARCHAR2(10);
V_RECEIPT_DATE DATE;
V_ORDER_QTY NUMBER(12,4);
V_RECEIPT_QTY NUMBER(12,4);
V_FRT NUMBER;
V_DUTY NUMBER;
V_SUPPLIER NUMBER;
V_FLAG VARCHAR2(1);
V_ELC_COST NUMBER;
V_ADJ_ELC NUMBER;
Cursor x is
select OBLIGATION_KEY,OBLIGATION_LEVEL,KEY_VALUE_1,KEY_VALUE_2,PARTNER_TYPE,PARTNER_ID,EXT_INVC_NO,EXT_INVC_DATE
,PAID_DATE,PAID_AMT,COMP_ID,RECEIPT_DATE,ORDER_QTY,RECEIPT_QTY,FRT,DUTY,SUPPLIER,FLAG,ELC_COST,ADJ_ELC
from RMSBIZ.CT_ANALYZE_LIFUNG_DUTY;
BEGIN
if not UTL_FILE.IS_OPEN(V_file) then
V_file := UTL_FILE.FOPEN('/exchange/biz/rms2lan','sb_duty.dat','w'); --need to give the location for testing
end if;
for x1 in x loop
V_OBLIGATION_KEY :=1;
V_OBLIGATION_LEVEL :='test';
V_OBLIGATION_KEY :=x1.OBLIGATION_KEY;
V_OBLIGATION_LEVEL :=x1.OBLIGATION_LEVEL;
V_KEY_VALUE_1 :=x1.KEY_VALUE_1;
V_KEY_VALUE_2 :=x1.KEY_VALUE_2;
V_PARTNER_TYPE :=x1.PARTNER_TYPE;
V_PARTNER_ID :=x1.PARTNER_ID;
V_EXT_INVC_NO :=x1.EXT_INVC_NO;
V_EXT_INVC_DATE :=x1.EXT_INVC_DATE;
V_PAID_DATE :=x1.PAID_DATE;
V_PAID_AMT :=x1.PAID_AMT;
V_COMP_ID :=x1.COMP_ID;
V_RECEIPT_DATE :=x1.RECEIPT_DATE;
V_ORDER_QTY :=x1.ORDER_QTY;
V_RECEIPT_QTY :=x1.RECEIPT_QTY;
V_FRT :=x1.FRT;
V_DUTY :=x1.DUTY;
V_SUPPLIER :=x1.SUPPLIER;
V_FLAG :=x1.FLAG;
V_ELC_COST :=x1.ELC_COST;
V_ADJ_ELC :=x1.ADJ_ELC;
V_flatfile_line:= V_OBLIGATION_KEY||','||
V_OBLIGATION_LEVEL ||','||
V_KEY_VALUE_1 ||','||
V_KEY_VALUE_2 ||','||
V_PARTNER_TYPE ||','||
V_PARTNER_ID ||','||
V_EXT_INVC_NO ||','||
V_EXT_INVC_DATE ||','||
V_PAID_DATE ||','||
V_PAID_AMT ||','||
V_COMP_ID ||','||
V_RECEIPT_DATE ||','||
V_ORDER_QTY ||','||
V_RECEIPT_QTY ||','||
V_FRT ||','||
V_DUTY ||','||
V_SUPPLIER ||','||
V_FLAG ||','||
V_ELC_COST ||','||
V_ADJ_ELC;
V_flatfile_line:= V_OBLIGATION_KEY||','|| V_OBLIGATION_LEVEL;
UTL_FILE.PUT_LINE(V_file, V_flatfile_line);
end loop
commit;
UTL_FILE.fclose(V_file);
END;
Getting the following errors:
SQL>Welcome-->
ERROR at line 1:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "SYS.UTL_FILE", line 98
ORA-06512: at "SYS.UTL_FILE", line 157
ORA-06512: at "RMSBIZ.WRT_LIFUNGDUTY", line 39
ORA-06512: at line 1
SQL>Welcome-->39
39* V_file := UTL_FILE.FOPEN('/exchange/biz/rms2lan','sb_duty.dat','w');
SQL>Welcome-->
Does any one know why it is erroring out?
Thanks,
Chiruthe code below works if i take out the last 3 columns while writing to the flat file line.
CREATE OR REPLACE PROCEDURE wrt_lifungduty IS
sql_stmt varchar2(200);
sql_stmt1 varchar2(200);
sql_stmt2 varchar2(200);
v_cur_hdl integer;
v_rows_processed BINARY_INTEGER;
V_file UTL_FILE.FILE_TYPE;
V_flatfile_line VARCHAR2(98) := NULL;
V_OBLIGATION_KEY NUMBER(10);
V_OBLIGATION_LEVEL VARCHAR2(6);
V_KEY_VALUE_1 VARCHAR2(20);
V_KEY_VALUE_2 VARCHAR2(20);
V_PARTNER_TYPE VARCHAR2(6);
V_PARTNER_ID VARCHAR2(10);
V_EXT_INVC_NO VARCHAR2(30);
V_EXT_INVC_DATE DATE;
V_PAID_DATE DATE;
V_PAID_AMT NUMBER(20,4);
V_COMP_ID VARCHAR2(10);
V_RECEIPT_DATE DATE;
V_ORDER_QTY NUMBER(12,4);
V_RECEIPT_QTY NUMBER(12,4);
V_FRT NUMBER;
V_DUTY NUMBER;
V_SUPPLIER NUMBER;
V_FLAG VARCHAR2(1);
V_ELC_COST VARCHAR2(20);
V_ADJ_ELC VARCHAR2(20);
Cursor x is
select OBLIGATION_KEY,OBLIGATION_LEVEL,KEY_VALUE_1,KEY_VALUE_2,PARTNER_TYPE,PARTNER_ID,EXT_INVC_NO,EXT_INVC_DATE
,PAID_DATE,PAID_AMT,COMP_ID,RECEIPT_DATE,ORDER_QTY,RECEIPT_QTY,FRT,DUTY,SUPPLIER,FLAG,ELC_COST,ADJ_ELC
from RMSBIZ.CT_ANALYZE_LIFUNG_DUTY;
BEGIN
if not UTL_FILE.IS_OPEN(V_file) then
V_file := UTL_FILE.FOPEN('/rmsapps/rms803/biz/data/utl_files','sb_duty.csv','w'); --need to give the location for testing
end if;
for x1 in x loop
V_OBLIGATION_KEY :=nvl(x1.OBLIGATION_KEY,null);
V_OBLIGATION_LEVEL :=nvl(x1.OBLIGATION_LEVEL,null);
V_KEY_VALUE_1 :=x1.KEY_VALUE_1;
V_KEY_VALUE_2 :=x1.KEY_VALUE_2;
V_PARTNER_TYPE :=x1.PARTNER_TYPE;
V_PARTNER_ID :=x1.PARTNER_ID;
V_EXT_INVC_NO :=x1.EXT_INVC_NO;
V_EXT_INVC_DATE :=x1.EXT_INVC_DATE;
V_PAID_DATE :=x1.PAID_DATE;
V_PAID_AMT :=x1.PAID_AMT;
V_COMP_ID :=x1.COMP_ID;
V_RECEIPT_DATE :=x1.RECEIPT_DATE;
V_ORDER_QTY :=x1.ORDER_QTY;
V_RECEIPT_QTY :=x1.RECEIPT_QTY;
V_FRT :=x1.FRT;
V_DUTY :=x1.DUTY;
V_SUPPLIER :=x1.SUPPLIER;
V_FLAG :=nvl(x1.FLAG,'0');
V_ELC_COST :=to_char(nvl(x1.ELC_COST,0));
V_ADJ_ELC :=to_char(nvl(x1.ADJ_ELC,0));
V_flatfile_line:= V_OBLIGATION_KEY||','||
V_OBLIGATION_LEVEL ||','||
V_KEY_VALUE_1 ||','||
V_KEY_VALUE_2 ||','||
V_PARTNER_TYPE ||','||
V_PARTNER_ID ||','||
V_EXT_INVC_NO ||','||
V_EXT_INVC_DATE ||','||
V_PAID_DATE ||','||
V_PAID_AMT ||','||
V_COMP_ID ||','||
V_RECEIPT_DATE ||','||
V_ORDER_QTY ||','||
V_RECEIPT_QTY ||','||
V_FRT ||','||
V_DUTY ||','||
V_SUPPLIER ||','||
-- V_FLAG ||','||
V_ELC_COST ||','||
V_ADJ_ELC;
UTL_FILE.PUT_LINE(V_file, V_flatfile_line);
end loop
commit;
UTL_FILE.fclose(V_file);
EXCEPTION
WHEN UTL_FILE.INVALID_PATH
THEN
DBMS_OUTPUT.PUT_LINE ('error: INVALID_PATH');
WHEN UTL_FILE.INVALID_MODE
THEN
DBMS_OUTPUT.PUT_LINE ('error: INVALID_MODE');
WHEN UTL_FILE.INVALID_FILEHANDLE
THEN
DBMS_OUTPUT.PUT_LINE ('error: INVALID_FILEHANDLE');
WHEN UTL_FILE.INVALID_OPERATION
THEN
DBMS_OUTPUT.PUT_LINE ('error: INVALID_OPERATION');
WHEN UTL_FILE.READ_ERROR
THEN
DBMS_OUTPUT.PUT_LINE ('error: READ_ERROR');
WHEN UTL_FILE.WRITE_ERROR
THEN
DBMS_OUTPUT.PUT_LINE ('error: WRITE_ERROR');
WHEN UTL_FILE.INTERNAL_ERROR
THEN
DBMS_OUTPUT.PUT_LINE ('error: INTERNAL_ERROR');
WHEN OTHERS THEN
-- v_error_code := SQLCODE;
-- v_error_message := SQLERRM;
-- dbms_output.put_line('ERROR: '||v_error_code);
-- dbms_output.put_line('ERROR: '||v_error_message);
RAISE_APPLICATION_ERROR(-20003,'sbduty - aborted');
END;
/It fails as soon as it encounters the V_FLAG in the V_flat_file_line. The data in the table has nulls for the FLAG, and some -ve numbers for the ELC_COST,ADJ_ELC..but that should'nt cause any problems does it?
Whats wrong with those 3 columns?
Errors that i get are:
SQL>Welcome-->BEGIN wrt_lifungduty; END;
ERROR at line 1:
ORA-20003: sbduty - aborted
ORA-06512: at "RMSBIZ.WRT_LIFUNGDUTY", line 117
ORA-06512: at line 1
SQL>Welcome-->117
117* RAISE_APPLICATION_ERROR(-20003,'sbduty - aborted');
SQL>Welcome-->
Thanks,
Chiru -
How to create new XML file using retreived XML content by using SAX API?
hi all,
* How to create new XML file using retreived XML content by using SAX ?
* I have tried my level best, but output is coming invalid format, my code is follows,
XMLFileParser.java class :-
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.XMLFilterImpl;
public class PdfParser extends XMLFilterImpl {
private TransformerHandler handler;
Document meta_data;
private StringWriter meta_data_text = new StringWriter();
public void startDocument() throws SAXException {
void startValidation() throws SAXException {
StreamResult streamResult = new StreamResult(meta_data_text);
SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
try
handler = factory.newTransformerHandler();
Transformer transformer = handler.getTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
handler.setResult(streamResult);
handler.startDocument();
catch (TransformerConfigurationException tce)
System.out.println("Error during the parse :"+ tce.getMessageAndLocation());
super.startDocument();
public void startElement(String namespaceURI, String localName,
String qualifiedName, Attributes atts) throws SAXException {
handler.startElement(namespaceURI, localName, qualifiedName, atts);
super.startElement(namespaceURI, localName, qualifiedName, atts);
public void characters(char[] text, int start, int length)
throws SAXException {
handler.characters(text, start, length);
super.characters(text, start, length);
public void endElement(String namespaceURI, String localName,
String qualifiedName) throws SAXException {
super.endElement("", localName, qualifiedName);
handler.endElement("", localName, qualifiedName);
public void endDocument() throws SAXException {
void endValidation() throws SAXException {
handler.endDocument();
try {
TransformerFactory transfactory = TransformerFactory.newInstance();
Transformer trans = transfactory.newTransformer();
SAXSource sax_source = new SAXSource(new InputSource(new StringReader(meta_data_text.toString())));
DOMResult dom_result = new DOMResult();
trans.transform(sax_source, dom_result);
meta_data = (Document) dom_result.getNode();
System.out.println(meta_data_text);
catch (TransformerConfigurationException tce) {
System.out.println("Error occurs during the parse :"+ tce.getMessageAndLocation());
catch (TransformerException te) {
System.out.println("Error in result transformation :"+ te.getMessageAndLocation());
} CreateXMLFile.java class :-
Sax.startDocument();
Sax.startValidation();
Sax.startElement("", "pdf", "pdf", new AttributesImpl());
Sax.startElement("", "basic-metadata", "basic-metadata", new AttributesImpl());
String xmp_str = new String(meta_data.getByteArray(),"UTF8");
char[] xmp_arr = xmp_str.toCharArray();
Sax.characters(xmp_arr, 0, xmp_arr.length);
Sax.endElement("", "pdf", "pdf");
Sax.endValidation();
Sax.endDocument();
Sax.endElement("", "basic-metadata", "basic-metadata");* In CreateXMLFile.java
class, I have retreived the xml content in the meta_data object, after that i have converted into character array and this will be sends to SAX
* In this case , the XML file created successfully but the retreived XML content added as an text in between basic-metadata Element, that is, retreived XML content
is not an XML type text, it just an Normal text Why that ?
* Please help me what is the problem in my code?
Cheers,
JavaImranSax.startDocument();
Sax.startValidation();
Sax.startElement("", "pdf", "pdf", new AttributesImpl());
Sax.startElement("", "basic-metadata", "basic-metadata", new AttributesImpl());
String xmp_str = new String(meta_data.getByteArray(),"UTF8");
char[] xmp_arr = xmp_str.toCharArray();
Sax.characters(xmp_arr, 0, xmp_arr.length);
</code><code>Sax.endElement("", "basic-metadata", "basic-metadata");</code>
<code class="jive-code jive-java">Sax.endElement("", "pdf", "pdf");
Sax.endValidation();
Sax.endDocument();
* I HAVE CHANGED MY AS PER YOUR SUGGESTION, NOW SAME RESULT HAS COMING.
* I AM NOT ABLE TO GET THE EXACT OUTPUT.,WHY THAT ?
Thanks,
JavaImran{code} -
How to Create a Flat File using FTP/File Adapter
Can any body done workaround on creating the Flat file using FTP/File Adapter?.
I need to create a simple FlatFile either using of delimiter/Fixed length. using the above said adapters we can create XML file, i tried concatinating all the values into a single String and writing into a file, but it does not have proper structure
Can any body help me out on this..
Thanks
RamYou can create a text schema while creating a File Adapter. If schema is specified for File Adapter, it takes care of converting XML into fixed length or delimited format.
Thanks,
-Ng. -
How to Install the Cubes(SD & MM) by using the Business Content
Hi All,
Can anybody tell me how to install the Cubes(SD & MM) by using the Business Content,
And also require any Material & Navigation steps for to do this...
Reply back me to [email protected]
Regards,
KiranI know this is very old but I’m trying to clean up old posts. Did you ever solve this? If so it would be good if you could post the solution to assist others. If not, at this
stage, as nobody has answered, I would recommend that you call Intune support.
You will find your local Intune support number here
http://technet.microsoft.com/en-US/jj839713.aspx
Gerry Hampson | Blog:
www.gerryhampsoncm.blogspot.ie | LinkedIn:
Gerry Hampson | Twitter:
@gerryhampson -
DB2 Version 8 to Flat Files using ODI
Hi,
We are trying to load data from DB2 V8 to flat files using ODI.
Can anybody help me in this to configure server in Topology.
Thanks
AshwiniHi,
How are you? Let me try contribute a little...
A)
1) The OS isn't a problem, once you link it at topology will be OK.
2) If you have a fix name just create a datastore to it, if not, there are techniques to got dynamic file names
3) When you say "*.dat, *.cvs" maybe you refer to the internal format of file (record separator, decimal point, etc) all of this is configurable on datastore that represents the file at ODI.
B) Yes, the only requisite is to have the write and read rights.
C) The most simple way is create a refresh variable that get the data in any format you wish..
Does it make any sense to you?
Cezar Santos -
Delete data from a flat file using PL/SQL -- Please help.. urgent
Hi All,
We are writing data to a flat file using Text_IO.Put_Line command. We want to delete data / record from that file after data is written onto it.
Please let us know if this is possible.
Thanks in advance.
VaishaliThere's nothing in UTL_FILE to do this, so your options are either to write a Java stored procedure to do it or to use whatever mechanism the host operating system supports for editing files.
Alternatively, you could write a PL/SQL procedure to read each line in from the file and then write them out to a second file, discarding the line you don't want along the way. -
How to get field separator in flat file using GUI_DOWNLOAD function
hi,
how to get field separator in flat file using GUI_DOWNLOAD function.
thanking you.Hi,
Use WRITE_FIELD_SEPARATOR = 'X'.
Check this sample code
REPORT z_file_download.
DATA: w_name(90) TYPE c.
DATA:
BEGIN OF fs_flight,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price LIKE sflight-price,
currency LIKE sflight-currency,
END OF fs_flight.
DATA:
BEGIN OF fs_head,
carrid(10) TYPE c,
connid(10) TYPE c,
fldate(10) TYPE c,
price(10) TYPE c,
curr(10) TYPE c,
END OF fs_head.
DATA:
t_head LIKE
TABLE OF
fs_head.
DATA:
t_flight LIKE
TABLE OF
fs_flight.
fs_head-carrid = 'CARRID'.
fs_head-connid = 'CONNID'.
fs_head-fldate = 'FLDATE'.
fs_head-price = 'PRICE'.
fs_head-curr = 'CURRENCY'.
APPEND fs_head TO t_head.
SELECT-OPTIONS:
s_carrid FOR fs_flight-carrid.
START-OF-SELECTION.
SELECT carrid
connid
fldate
price
currency
FROM sflight
INTO TABLE t_flight
WHERE carrid IN s_carrid.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
* BIN_FILESIZE =
filename = 'D:\flight.xls'
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 = ' '
* IMPORTING
* FILELENGTH =
tables
data_tab = t_head
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.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'D:\flight.xls'
filetype = 'ASC'
append = 'X'
write_field_separator = 'X'
TABLES
data_tab = t_flight
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 EQ 0.
MESSAGE 'Download successful' TYPE 'I'.
ENDIF.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. -
How to extract data from Essbase to Flat File using ODI
Hi,
Anyone know how to extract data from Essbase to Flat File using ODI?
Thanks in advance.
Regards,
SumardiHi,
Have you read through :-
Oracle Data Integrator Adapter for Hyperion Essbase Getting Started - http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/odiess_getting_started.pdf
Oracle Data Integrator Adapter for Hyperion Essbase User's Guide - http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/odiess_users.pdf
If you have read them and are still have a problem at what stage are you having the issues?
Cheers
John
http://john-goodwin.blogspot.com/ -
Standard business contents are not installed in BI system
I am new to SAP Basis Team, Consultants are saying that standard business contents are not installed in BI system. What package should I install or what is the steps I should Do. Following is the content of SAINT
FINBASIS -- 600 -- 0013 -- FINBASIS 600 : Add-On Installation
PI_BASIS -- 2006_1_700 -- 0006 -- Basis Plug-In (PI_BASIS) 2006_1_700
SAP_BW -- 700 -- 0017 -- SAP NetWeaver BI 7.0
SEM-BW -- 600 -- 0013 -- SEM-BW 600 : Add-On Installation
ST-A/PI -- 01K_BCO700 -- 0000 -- Servicetools for other App./Netweaver 04
ST-PI -- 2005_1_700 -- 0006 -- SAP Solution Tools Plug-InI'm not on a 7.x system ... but on my 3.x system, the component BI_CONT is for the business content data.
Brian -
EFT Payment Program. Writing to a flat file using UTL Package
Hi guys
I wonder if someone can help me. I'm battling with something in pl/sql. I have a procedure that writes to a flat file. Each procedure I call writes a single section of the file, e.g "create_hdr_rec_line_fn" writes the header on top of the file and "create_std_trx_rec_line_fn" writes the body below the header. Then lastly the procedure that writes the trailer at the bottom of the file.
My problem comes here: I have a proc that calculates the hash total.
This is done by " utl_file.put_line(g_file_id, g_seed_number)". I want to write the hash total next to the trailer section of the file and not below it. How can I do this? Here's the example of the flat file produced. The very last line is the hash total, but I my hash total to be on the same line as the (Trailer). I want it to be just next to the trailer. I hope my question is clear. Please see my procedure below the flat file.
Thanking you in advance....
My flat file
FHSSVSDIM15000932008102810483220081028T (header)
SD0009300100001D19874200019873402211ACSA JOHANNESBURG INTERNATIONA (Line1-Detail)SC00093001D14540500014540057261IS H/O MAIN ACCOUNT 0000000124959315207 (Line-Transaction)
ST00093000000700000000070000000000020000001806378410000000000000000000001806378 (Trailer)
58298239848772973764654319387982 (hash total)
My procedure
PROCEDURE eft(errbuf OUT NOCOPY VARCHAR2,
retcode OUT NOCOPY NUMBER,
p_payment_batch IN VARCHAR2) IS
v_eft_date VARCHAR2(100);
BEGIN
v_eft_date := TO_CHAR(SYSDATE, 'DD-MON-RRRR_HH24_MI_SS');
g_payment_batch := p_payment_batch;
g_file_name := 'EFT'||v_eft_date||'.txt';
g_file_id := utl_file.fopen(g_dir_name,
g_file_name,
'W');
utl_file.put_line(g_file_id,
create_hdr_rec_line_fn);
create_std_trx_rec_line_fn(g_file_id);
create_std_contra_rec_line_fn(g_file_id);
create_std_trailer_fn(g_file_id);
utl_file.put_line(g_file_id,
g_seed_number);
utl_file.fclose_all;
IF (update_tables != TRUE) THEN
Fnd_File.put_line(Fnd_File.LOG, 'Failed to update payment batch tables. Cancel the batch');
END IF;
EXCEPTION
WHEN OTHERS THEN
Fnd_File.put_line(Fnd_File.LOG, 'Print Error - eft' || SUBSTR(SQLERRM, 1, 250));
END eft;user643734 wrote:
Hi cdkumar
I'm not quite sure if I understand what you mean. Are you saying that I should use the "PUT" to write 'create_std_trailer_fn' and and then use the "PUT_LINE" to write 'g_seed_number'? Could you please show me what you mean by changing the proc I posted on my question with your suggestions.How about, rather than use code it for you, you try changing the code and giving it a go yourself.
Essentially PUT_LINE will write out the data and put a "new line" character on the end so the next output will appear on the following line; PUT will just output the data without terminating the line, so any subsequent output will just append to the end.
It's very simple. Give it a go. -
Build daily Big flat file using SAP R/3 material master data
Hi all,
I must build an interface between SAP R/3 4.7 and an external application
Daily a flat file must be generated contaning Material data in full exchange mode
(volume 100 000 materials, <10 fields => ~ File of 30Mo)
No complex mapping, only format mapping (Ex : Price quantity...)
I don't know yet if I will use Idocs or BAPI to extract data. However, I'm sure I must use multiple inbound messages because of volume
After reading documentation, I consider the both following solutions to manage it :
1) A simple asynchronous interface with a file adapter in construction mode APPEND to build flat file progressively with arrival of SAP messages
=>
viable solution ?
Is there problem of concurrent access to file in such a solution ?
(idocs or bapi data will be processed ones following the others )
2) BPM Collecting and Bundling Messages - One Interface
(Unlimited Loop with Deadline trigger correspondint to time I must build flat file)
=>
Each SAP message is a small message but the outbound XML will represent a 30 Mo flat file => Is it a problem ??
Which solution do you advise ?
Is there another ?
Last question : (more general one)
In such scenario, I can't see XI-value added comparing a creation of flat file directly with R/3.
I will generate a big number of idocs, use a big part of XI memory ...
Can you give me your opinion about it ?
Thanks a lot
Best regards
Jean-Charles
Message was edited by:
Jean-Charles
Message was edited by:
Jean-CharlesHi Jean-Charles,
>>>volume 100 000 materials, <10 fields => ~ File of 30Mo
You have a performance task...
>>>Is there problem of concurrent access to file in such a solution ?
No, the adapter framework has its own queueing, the message would be stored and executed later. If sequence is important, you can use EOIO as well.
>>>BPM Collecting and Bundling Messages - One Interface
BPM is not required in your case, you should avoid becoz of performance task. You can append at file adapter, no problem. Bundling and splitting is even possible at Integration Server without BPM.
>>>Each SAP message is a small message but the outbound XML will represent a 30 Mo flat file => Is it a problem ??
Avoid using BAD words
>>>Each SAP message is a small message but the outbound XML will represent a 30 Mo flat file => Is it a problem ??
Use the <a href="https://websmp110.sap-ag.de/quicksizing">Quick Sizer</a> for sizing the hardware.
Regards,
Udo -
Urgent: Problem to load Flat file using DTP.
Hi Experts,
I try to load a flat file PSA->DSO->INFOCUBE using DTP.
I my flatfile in the application server in csv format.
in the My data source I opted Adapter as Load Text -Type file from Application Server.
Data Format : I test with both the potions : Fixed length & Separated with Separator( For example CSV) .
If I check the preview: I cant find any data and get the message: Inbound processing of data package 000001 finished
when I try to Load the data thorough PC the load was successfull but only 0 records are transfered and added to PSA:; DSO and Info Cube.
The test file contains around 20 records.
Any suggestions please.
Thanks & RegardsHi Sailekha..
in the My data source I opted Adapter as Load Text -Type file from Application Server.
Data Format : I test with both the potions : Fixed length & Separated with Separator( For example CSV) .
Note: As per ur info:
In the Flat file Data source :
1. You have to maintain the Adapter as:
Load Text -Type file from Application Server
Data Format : Separated with Separator
Then Use the "Proposal" Tab to generate the field proposals.
(Only in BI 7.0 this option is available).
After that check the Preview in "Preview" Tab.
Hope it works...
Cheers,...
Varma -
Hi guys,
I work on pi 7.1.
A flat file is sent to me using http request. I want to read the file, remove the heading and then convert it to xml and pass it into R3 through an idoc.
Do anybody have any suggestions.
Thanks
UgurThank you for the link. I have been working using that document. But the problem is that i can not trigger a break point in that code, so i can not manipulate with that data coming in.
Have you any input to how to invoke the debugger.
Regards
Maybe you are looking for
-
hi i want to buy an iphone 5s and i live in Europe but i want to buy it from america can it charge if it different voltage and question 2 when ever i check for availbility it says unavailble for pickup does that mean that there isnt that kind of ipho
-
Display a message when an item is selected from a dropdownlist
Hi, I need to display a message(kind of alert message) when certain items are selected from the dropdownlist. Let me know what is a good way to do this in web elements? Thanks
-
Audio SFX not in sync with input string playback
The audio 'key clicking' sound that occurs during playback as an input string is animated on the screen is not in sync with the characters... Its about .5 seconds late. Is there a way to adjust this? Thanks, Peter
-
I can't wait no more for lyrics, so I've decided to buy applications available with January upgrade, but... I can't find it on ITunes store! Maybe I'm sleeping?! Thanks Joe
-
Add Explicit Tag To Your Own Recordings?
In iTunes, when you purchase a song from the iTunes Store, or download a podcast, some of the content shows up with a red EXPLICIT label next to the song Name. Well, what I'd like to know is, Is it possible to add this EXPLICIT tag to your own record