Multiple records of different types
Hi could anyone tell me as to what this does???I tried working on it but could not get anywhere with this. Is there any document on this particular query?anyone with knowledge of this can help me out. thanks
Hi
What is your really problem my friend? Are you using a file adapter?
I´m using File Adapter with multiple records of different types and all works fine.
The secret is (if necessary) to edit the XSD generated by the File Adapter Wizard.
Similar Messages
-
how to define a schema for fixed length consisting of multiple records of different types having header detail and footer at positions 22 and 23 namely having 10 for header ,20 for detail and 30 for footer.
here is the sample file
DDWTYBILL13092502572 1000000112\\NHLSFS\ORACLE\ORACLE\BILLING\VERIFY\ 2013/09/25 01:19:08 BILLEND
DDWTYBILL13092502572 2000000212PRIVATE PRIVATE STY5572142 010700 INV 12STYD000789 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNM DIMPHANA,CN,CELESTE NERINA 09-JAN-1964 TYG A2 DR DU PREEZ 5602181 63301345 TB731543 Suspect TB ?CA, (L) EMPIEEM Ward A2 TYGERBERG HOSPITAL Z03.0 Z03.9 05-AUG-201305-AUG-201324-SEP-2013FEND 113.60
DDWTYBILL13092502572 2000000312PRIVATE PRIVATE STY5572149 010700 INV 12STYD000789 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNM DIMPHANA,CN,CELESTE NERINA 09-JAN-1964 TYG A2 DR DU PREEZ 5602181 63301345 TB731548 Empyema BPF Ward A2 TYGERBERG HOSPITAL Z03.9 Z03.9 05-AUG-201305-AUG-201324-SEP-2013FEND 113.60
DDWTYBILL13092502572 2000000412PRIVATE PRIVATE STY5572351 010700 INV 12STYD000789 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNM DIMPHANA,CN,CELESTE NERINA 09-JAN-1964 TYG A2 DR DU PREEZ 5602181 63301345 TB731584 Suspect TB ?EMPIEEM, ?CA Ward A2 TYGERBERG HOSPITAL Z03.0 Z03.9 05-AUG-201305-AUG-201324-SEP-2013FEND 113.60
DDWTYBILL13092502572 2000000512PRIVATE PRIVATE STY5572352 010700 INV 12STYD000789 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNM DIMPHANA,CN,CELESTE NERINA 09-JAN-1964 TYG A2 DR DU PREEZ 5602181 63301345 TB731585 Suspect TB ?EMPIEEM, ?CA Ward A2 TYGERBERG HOSPITAL Z03.0 Z03.9 05-AUG-201305-AUG-201324-SEP-2013FEND 113.60
DDWTYBILL13092502572 2000000612MAJOR MAJOR STY5577530 010700 INV 12ZTYG000009 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNS ZOZI,S,SIYAMBONGA 27-MAR-2010 TYG D3 DR MAHOMED 5602181 113799662 TB731663 Lymphadenitis Ward D3 TYGERBERG HOSPITAL I88.9 Z03.9 H1 07-AUG-201307-AUG-201324-SEP-2013MEND 58.52
DDWTYBILL13092502572 2000000712MAJOR MAJOR STY5577537 010700 INV 12ZTYG000009 06-AUG-20130000010472 STY STY 1100611006MGIT 91 NNS DLAMINI,N,NTLANTLA 09-OCT-1976 TYG F1 DR WZESE 5602181 135524676 TB731666 Suspect TB Ward F1 TYGERBERG HOSPITAL Z03.0 Z03.9 H1 07-AUG-201314-AUG-201324-SEP-2013MEND 58.52
DDWTYBILL13092502572 30003034120000003032ENDYou can create an nXSD using Native Format Builder and use lookAhead attribute to read values at specific position and use that as the choice. You can find an example here
http://docs.oracle.com/cd/E11036_01/integrate.1013/b28994/nfb.htm#BGBBAJFD -
Unable to open multiple files of different types simultaneously
It seems the MS has made some changes in Win7, and I am no longer able to open multiple files of different types (.doc, .pdf) in Explorer by highlighting the desired files and hitting Enter. It still works if I select only one file type, but
the ability to open multiple files of different types has been in place since Win95, and maybe since Win3.11 (my memory is a little foggy that far back).Hi,
Yes, this feature was removed from Windows 7. Now you just can open multiple files which are the same type at once.
Karen Hu
TechNet Community Support -
Hi Everyone,
A Very Very Happy, Fun-filled, Awesome New Year to You All.
Now coming to the discussion of my problem in Oracle Forms 6i:
I have created a form in which the data is entered & saved in the database.
CREATE TABLE MATURED_FD_DTL
ACCT_FD_NO VARCHAR2(17 BYTE) NOT NULL,
CUST_CODE NUMBER(9),
FD_AMT NUMBER(15),
FD_INT_BAL NUMBER(15),
TDS NUMBER(15),
CHQ_NO NUMBER(10),
CREATED_DATE DATE,
CREATED_BY VARCHAR2(15 BYTE),
PREV_YR_TDS NUMBER(15),
ADD_FD_AMT NUMBER(15),
DESCRIPTION VARCHAR2(100 BYTE),
P_SAP_CODE NUMBER(10),
P_TYPE VARCHAR2(1 BYTE)
The form looks like below:
ENTER_QUERY EXECUTE_QUERY SAVE CLEAR EXIT
ACCT_FD_NO
CUST_CODE
FD_AMT
FD_INT_BAL
PREV_YR_TDS
TDS
ADD_FD_AMT
P_SAP_CODE
P_TYPE
CHQ_NO
DESCRIPTION
R
W
P
List Item
There are 5 push buttons namely ENTER_QUERY, EXECUTE_QUERY, SAVE, CLEAR, EXIT.
The table above is same as in the form. All the fields are text_item, except the P_TYPE which is a List_Item ( Elements in List Item are R, W & P).
The user will enter the data & save it.
So all this will get updated in the table MATURED_FD_DTL .
I am updating one column in another table named as KEC_FDACCT_MSTR.
and
I want this details to get updated in another table named as KEC_FDACCT_DTL only if the P_TYPE='P'
CREATE TABLE KEC_FDACCT_DTL
FD_SR_NO NUMBER(8) NOT NULL,
FD_DTL_SL_NO NUMBER(5),
ACCT_FD_NO VARCHAR2(17 BYTE) NOT NULL,
FD_AMT NUMBER(15,2),
INT_RATE NUMBER(15,2),
SAP_GLCODE NUMBER(10),
CATOGY_NAME VARCHAR2(30 BYTE),
PROCESS_YR_MON NUMBER(6),
INT_AMT NUMBER(16,2),
QUTERLY_FD_AMT NUMBER(16,2),
ITAX NUMBER(9,2),
MATURITY_DT DATE,
FDR_STAUS VARCHAR2(2 BYTE),
PAY_ACC_CODE VARCHAR2(85 BYTE),
BANK_CODE VARCHAR2(150 BYTE),
NET_AMOUNT_PAYABLE NUMBER,
QUATERLY_PAY_DT DATE,
CHEQUE_ON VARCHAR2(150 BYTE),
CHEQUE_NUMBER VARCHAR2(10 BYTE),
CHEQUE_DATE DATE,
MICR_NUMBER VARCHAR2(10 BYTE),
PAY_TYPE VARCHAR2(3 BYTE),
ADD_INT_AMT NUMBER(16,2),
ADD_QUTERLY_FD_AMT NUMBER(16,2),
ADD_ITAX NUMBER(16,2),
ECS_ADD_INT_AMT NUMBER(16),
ECS_ADD_QUTERLY_FD_AMT NUMBER(16),
ECS_ADD_ITAX NUMBER(16)
So for the push button 'Save' , i have put in the following code in the Trigger : WHEN BUTTON PRESSED,
BEGIN
Commit_form;
UPDATE KEC_FDACCT_MSTR SET PAY_STATUS='P' WHERE ACCT_FD_NO IN (SELECT ACCT_FD_NO FROM MATURED_FD_DTL);
UPDATE MATURED_FD_DTL SET CREATED_DATE=sysdate, CREATED_BY = :GLOBAL.USER_ID WHERE ACCT_FD_NO = :acct_fd_NO;
IF :P_TYPE='P' THEN
INSERT INTO KEC_FDACCT_DTL
SELECT FD_SR_NO, NULL, MATURED_FD_DTL.ACCT_FD_NO, FD_AMT, INT_RATE, P_SAP_CODE,
GROUP_TYPE, (TO_CHAR(SYSDATE, 'YYYYMM'))PROCESS_YR_MON,
FD_INT_BAL, (FD_INT_BAL-MATURED_FD_DTL.TDS)QUTERLY_FD_AMT , MATURED_FD_DTL.TDS,
MATURITY_DATE, P_TYPE, NULL, NULL, (FD_INT_BAL-MATURED_FD_DTL.TDS)NET_AMOUNT_PAYABLE,
NULL, NULL, CHQ_NO, SYSDATE, NULL, 'CHQ', NULL, NULL, NULL, NULL, NULL, NULL
FROM MATURED_FD_DTL, KEC_FDACCT_MSTR
WHERE KEC_FDACCT_MSTR.ACCT_FD_NO=MATURED_FD_DTL.ACCT_FD_NO;
END IF;
COMMIT;
MESSAGE('RECORD HAS BEEN UPDATED AS PAID');
MESSAGE(' ',no_acknowledge);
END;
If P_TYPE='P' , then the data must get saved in KEC_FDACCT_DTL table.
The problem what is happening is,
If i enter the details with all the records as 'P' , the record gets inserted into the table KEC_FDACCT_DTL
If i enter the details with records of 'P' and 'R' , then nothing gets inserted into the table KEC_FDACCT_DTL.
Even the records with 'P' is not getting updated.
I want the records of 'P' , to be inserted into table KEC_FDACCT_DTL, even when multiple records of all types of 'P_Type' (R, w & P) are entered.
So, can you please help me with this.
Thank You.
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
Oracle Forms Builder 6i.Its not working properly.
At Form_level_Trigger: POST_INSERT, I have put in the following code.
IF :P_TYPE='P'THEN
INSERT INTO KEC_FDACCT_DTL
SELECT FD_SR_NO, NULL, MATURED_FD_DTL.ACCT_FD_NO, FD_AMT, INT_RATE, P_SAP_CODE,
GROUP_TYPE, (TO_CHAR(SYSDATE, 'YYYYMM'))PROCESS_YR_MON,
FD_INT_BAL, (FD_INT_BAL-MATURED_FD_DTL.TDS)QUTERLY_FD_AMT , MATURED_FD_DTL.TDS,
MATURITY_DATE, P_TYPE, NULL, NULL, (FD_INT_BAL-MATURED_FD_DTL.TDS)NET_AMOUNT_PAYABLE,
NULL, NULL, CHQ_NO, SYSDATE, NULL, 'CHQ', NULL, NULL, NULL, NULL, NULL, NULL
FROM MATURED_FD_DTL, KEC_FDACCT_MSTR
WHERE KEC_FDACCT_MSTR.ACCT_FD_NO=MATURED_FD_DTL.ACCT_FD_NO;
END IF;
MESSAGE('RECORD HAS BEEN UPDATED AS PAID');
MESSAGE(' ',no_acknowledge);
It worked properly when i executed first time, but second time , in database duplicate values were stored.
Example: First I entered the following in the form & saved it.
ACCT_FD_NO
CUST_CODE
FD_AMT
FD_INT_BAL
PREV_YR_TDS
TDS
ADD_FD_AMT
P_SAP_CODE
P_TYPE
CHQ_NO
DESCRIPTION
250398
52
50000
6000
0
600
0
45415
P
5678
int1
320107
56
100000
22478
3456
2247
0
45215
R
456
320108
87
50000
6500
0
650
0
21545
W
0
In the database, in table KEC_FDACCT_DTL, the ACCT_FD_NO:250398 with P_TYPE='P' record was inserted.
ACCT_FD_NO
P_TYPE
250398
P
But second time, when i entered the following in the form & saved.
ACCT_FD_NO
CUST_CODE
FD_AMT
FD_INT_BAL
PREV_YR_TDS
TDS
ADD_FD_AMT
P_SAP_CODE
P_TYPE
CHQ_NO
DESCRIPTION
260189
82
50000
6000
0
600
0
45415
P
5678
interest567
120011
46
200000
44478
0
4447
0
45215
R
456
30191
86
50000
6500
0
650
0
21545
W
56
In the database, in the table KEC_FDACCT_DTL, the following rows were inserted.
ACCT_FD_NO
P_TYPE
250398
P
250398
P
260189
P
320107
R
320108
W
There was duplicate of 250398 which i dint enter in the form second time,
All the other P_TYPE was also inserted , but i want only the P_TYPE='P' to be inserted into the database.
I want only those records to be inserted into the form where P_TYPE='P' and duplicate rows must not be entered.
How do i do this??? -
Handling Multiple Records in a file adapter
Hi All,
My source file message :
<Source_MT>
<Records>....<b>0-Unbound</b>
<Country>THAILAND</country>
</Records>
<Records>....<b>0-Unbound</b>
<Country>ANGOLA</country>
</Records>
</Source_MT>
Target Message:
<Target_MT>
<Employees>....<b>0-Unbound</b>
<Country>THAILAND</country>
</Employees>
</Traget_MT>
Now in my scenario ,source message will have multiple records with different countries........
I want to send these records to different receivers on the basis of this coutry field,means after target message mapping....all the records corresponding to THAILAND must be sent to THA_RECVR system..all the records corresponding to ANGOLA must be sent to Angola recvr systems...
Please help me to club target message records on the basis of country field and then send it to correspodning receiver systems ......
Should I use BPM?Shweta,
You need to do enhanced receiver determination. You can handle this by determining them during runtime.
Check this out : Re: Condition In Receiver Determination Not Working [Page 3 : My reply]
raj. -
Fixed length fileadapter [multiple records are of multiple types]
Hi,
I am using Jdev 10133 and SOA suite 10133.
I am using fixed length(multiple records are of different type) file adapter to read data from a DAT file.
I need to read the data based on condition.
i.e: the DAT file looks like below
city1 EMPName1 female organisation1
city2 EMPName2 male organisation2
city2 EMPName3 male organisation1
city1 EMPName4 female organisation1Here i need to read the records based on gender.
I was able to read based on city i.e first column.
In adapter wizard it is giving only endposition.
How to read data based on gender??
Plz help me regarding this.
Regards.
Edited by: [email protected] on May 21, 2009 1:44 AMnot sure if this is an exact example but when you create youe xsd you can use white space as a delimiter, so if your fields don't have spaces you can use this.
Also you can mix and match fixed length with delimiters
cheers
James -
NI-5122 Multiple records: different trigger for first record
Hi,
I’m using a NI-5122 high-speed digitizer to acquire multiple records (say 100 of length 20 each), triggered by an external 1kHz source, and clocked by an external 80MHz clock.
Is it possible to start the whole acquisition process (i.e. the first record) with a certain trigger signal (e.g. from PFI0), but trigger subsequent records with a different trigger signal (e.g. from TRIG)?
Thanks in advance for your suggestions!TobiSL,
Yes, what your asking for is possible, and the two trigger types you mentioned are called repectively: Start Trigger, and Reference Trigger. You can configure each of these triggers separately. To configure the Reference trigger you use the "niScope Configure Trigger vi". To configure the start trigger, all you need to do is specify the source of the start trigger, using the niScope property node: "Start Trigger Source".
Hope this helps!
Product Support Engineer
National Instruments -
How to get different sum value by different types of record in sql server
Hi,I have my query result like below
AppID LabType DiaType LabPrice DiaPrice
1
a
b 100 1000
1 a
cc 100 1000
1
aa b 100 1000
1 aa cc
100 1000
1
aaa b 100 1000
1 aaa cc 100
1000
from this query
select
app.AppointmentId,
lr.LabPrice,
lt.LabCategoryType,
drt.DiagnosisReportType,
dr.DiaPrice as diaprice,
from Appointment app
left join DiagnosisReport dr on app.AppointmentId=dr.AppointmentId
left join DiagnosisReportType drt on dr.DiagnosisReportTypeId=drt.DiagnosisReportTypeId
left join LabCategoryReport lr on lr.AppointmentId=app.AppointmentId
left join LabCategoryType lt on lt.LabCategoryTypeId=lr.LabCategoryTypeId
where app.DeleteStatus='N'
and app.AppointmentId='MLM-Appointment-60314748311012015'
and dr.DeleteStatus='N'
and lr.DeleteStatus='N'
But I want following one line result by getting two sum result for 3 different types of Lab and 2 different
type of Dia.
AppID LabPrice DiaPrice
1 300 2000
Please, can anyone give me any idea or help how to get only one record query result.
Thanks in advanced.
SupermanPlease follow basic Netiquette and post the DDL we need to answer this. Follow industry and ANSI/ISO standards in your data. You should follow ISO-11179 rules for naming data elements. You failed. You should follow ISO-8601 rules for displaying temporal
data. We need to know the data types, keys and constraints on the table. Avoid dialect in favor of ANSI/ISO Standard SQL. And you need to read and download the PDF for:
https://www.simple-talk.com/books/sql-books/119-sql-code-smells/
>> I have my query result like below <<
So you show us a result and expect that we can guess! Wow! We are magical! Did you ever read Douglas Adams? The answer is 42! Now find
the question.
Also, you have things like “lab_category_type” in this code. Is it a category or a type? In a valid data model that follow ISO-11179 rules you could have a “lab_category” or “lab_type” but never a mixed hybrid. In one of my books, I had something like “lab_category_type_id”
as a joke; it was so stinking awful that I never dreamed any programmer would really do this!
Also OUTER JOINs a rare in a valid schema. A good design will have DRI so you know you have matches. Since a table is a set, their names are plural or collective; but you have only one appointment according to your unseen DDL. And only one “Diagnosis_Report”,
etc.
Now think about “Lab_Category_Types” as a table. Regardless of how this ambiguous mess is resolved, it will be an attribute. An attribute is in a column, not an entity like you are modeling it. If it has a few static values then use a CHECK( x IN (..)) constraint.
If it is dynamic or large, then use a REFERENCES. Never use a join like this.
That silly, magical “delete_status” looks like an assembly language flag. This is what we did with tape files in the 1950's. We would have a bit in the front of records and flip it. Later a program would move the active records to a new tape. Ask yourself
why everything in the universe would share a common attribute. Such an attribute would be so generic as to be useless or (your case) it would be meta data and not part of the entity at all. Oh, rows are not records; you got that wrong too.
Why do you keep prices in integers? Currency is decimal. Sure wish we had DDL. My guess is that this should look more like this simpler, faster query.
SELECT APP.appointment_id,
LT.lab_type, LR.lab_price,
DRT.diagnosis_type, DR.diagnosis_price
FROM Appointments AS APP
LEFT OUTER JOIN
(SELECT appointment_id, diagnosis_type,
SUM(diagnosis_price) AS diagnosis_price_tot
FROM Diagnosis_Reports AS DR
GROUP BY appointment_id, diagnosis_type)
AS DR
ON APP.appointment_id = DR.appointment_id
LEFT OUTER JOIN
(SELECT appointment_id, lab_type, SUM(lab_price)lab_price_tot
FROM Lab_Reports
GROUP BY appointment_id, lab_type)
AS LR
ON APP.appointment_id = LR.appointment_id
WHERE APP.appointment_id = 'MLM-APPOINTMENT-60314748311012015';
--CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
in Sets / Trees and Hierarchies in SQL -
File Adapter: Multiple Records, Multiple Types to Multiple DB Tables
Hi there,
I have a proof-of-concept scenario which I am trying to model in ESB:
I have a single flat file with one invoice header record and multiple invoice lines.
I want to read this file via the File Adapter, and insert the different records into different database tables: the invoice header in an invoice table, and the invoice lines into a line item table.
If I tackle the lines in isolation no problem (i.e. single file with only invoice lines in to the invoice lines table). Things break down when I add the invoice header into the mix.
Does anyone have an example of this or something similar?
Would I need to use seperate database adapters for the two tables, or is this achievable with a single database adapter?
Thanks in advance!Thanks for that Abhi.
I actually tried that, but I'd find that I would only get the header record added properly; the multiple invoice lines would not get written to the invoice line table properly.
I found that I would either get the same invoice line added many times, or I would get null values.
I played around with the for-each statement, and I even tried creating my own xsd for the data file (instead of using the native format tool).
Any ideas what the issue might be?
Thanks,
Richard -
File Adapter - Multiple Record Types to same Target
I am currently reading in a fixed length file and loading into a table.
The issue is, some of the lines in my file differ by two spaces at the end. See example below.
For example,
Record 1 might look like :
DD/MM/YY - length of 8
Record 2 might look like:
DD/MM/YY{space}{space} - length of 10
and they both go into the same date column of my target
Question 1) Is there a way for BPEL to skip the two spaces at the end of each line for Record 2
Queston 2) I have currently created multiple record types for the two types but it won't allow me in my transformation to map them both to the "date" column in the target table. It says multiple nodes cannot be mapped to the target
Any help would be appreciated.Hi,
Unfortunately the IKM SQLDR doesn't have the "when" condition to be wrote at ctl file.
If you wish a simple solution, just add an option (drop me a email if you want a LKM with this)
The point is:
With a single option, you will control the when ctl clause and, for instance, can define:
1) create 2 datastores (1 for each file)
2) the first position will be a column at each datastore
3) write the when condition to this first column at the LKM in the interface.
Does it help you? -
Reading a multiple record types from a single File using BPEL file adapter
Hi all.
We have a requirement where we want to read a CSV file using the BPEl adapter.
Following is the sample of csv file
HDR,1,2,3
---- First transaction starts----
TH,1,2,3
RSD,1,1
RSD,1,1
TD,1
-------Second transaction starts---
TH,1,2,3
RSD,1,1
RSD,1,1
RSD,1,1
RSD,1,2
TD,1
TD,1
-------------Third Transaction starts---
TH,1,2,3
RSD,1,1
TD,1
TD,1
TD,1
TD,1
-------------Fourth Transaction starts---
TH,1,2,3
LN,1,1,1,1,2
-----End of File---
TAIL
I have modified the file with some comments to have some clear understanding.
Basically our file is a transactions file from legacy system & contains mutliple transactions
First line will be a Header record starting "HDR" & contains all summary details about the file.
After it is details of all transactions thorughout the day, each transaction begins with record starting "TH".As shown in all transactions above.EAch transaction can have other multiple records like the RSD & TD shown above.
Our need is to read each transaction from the file & create an instance.How can we configure BPEL to grab the data starting with TH till it encounter's another TH.
Please advise
KrunalYou can't use the wizard to create a schema if a file as complex as this. the good news is that you can create one yourself. What you need to do is create standard xsd that will handle your file, then what you do is add the terminators that determine when a field stops.
Here is an example, hopefully this provides you enough infor for you to make your own.
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
targetNamespace="http://Invoice"
xmlns:tns="http://Invoice"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
nxsd:encoding="ASCII"
nxsd:stream="chars"
nxsd:version="NXSD">
<xsd:element name="Invoice">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="InvoiceHeader" nxsd:startsWith="000" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="tns:InvoiceHeaderDetails" />
<xsd:element ref="tns:LineItem" nxsd:startsWith="001" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="InvoiceHeaderDetails">
<xsd:complexType>
<xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
<xsd:element name="BusinessUnit" type="xsd:string" nxsd:style="fixedLength" nxsd:length="13" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
<xsd:element name="InvoiceNo" type="xsd:string" nxsd:style="fixedLength" nxsd:length="16" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="InvoiceDate" type="xsd:string" nxsd:style="fixedLength" nxsd:length="15" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="VendorNo" type="xsd:string" nxsd:style="fixedLength" nxsd:length="29" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="OriginCode" type="xsd:string" nxsd:style="fixedLength" nxsd:length="3" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="OperatorID" type="xsd:string" nxsd:style="fixedLength" nxsd:length="8" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="LineCount" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="34" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="GrossAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="17" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="DiscountAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="50" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="FreightAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="93" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="TaxAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="50" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="DiscountFlag" type="xsd:string" nxsd:style="fixedLength" nxsd:length="1" nxsd:paddedBy=" " nxsd:padStyle="tail" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="LineItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="LineItemDetails">
<xsd:complexType>
<xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
<xsd:element name="BusinessUnit" type="xsd:string" nxsd:style="fixedLength" nxsd:length="13" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
<xsd:element name="InvoiceLineNo" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="5" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="DistributionCount" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="5" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="BusinessUnitPO" type="xsd:string" nxsd:style="fixedLength" nxsd:length="5" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
<xsd:element name="PONo" type="xsd:string" nxsd:style="fixedLength" nxsd:length="10" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
<xsd:element name="POLineNo" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="38" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
<xsd:element name="InvoiceLineAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="17" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ref="tns:Distribution" nxsd:startsWith="002" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Distribution">
<xsd:complexType>
<xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
<xsd:element name="BusinessUnit" type="xsd:string" nxsd:style="fixedLength" nxsd:length="13" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
<xsd:element name="InvoiceLineNo" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="5" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="DistributionLineNo" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="10" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="GLAccountCode" type="xsd:string" nxsd:style="fixedLength" nxsd:length="84" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
<xsd:element name="DistributionAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="162" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="DistributionTaxAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="62" nxsd:paddedBy=" " nxsd:padStyle="tail" />
<xsd:element name="GLDepartmentCode" type="xsd:string" nxsd:style="fixedLength" nxsd:length="10" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
cheers
James -
Flat File with multiple record types (OWB 10.2.0.2)
Hi!
I`m using OWB 10.2.0.2 and I`m trying to load a flat file with multiple record types, using SQL LOADER.
In the flat file editor in the Record tab, I`ve set the type values and the corresponding record names like this:
Type Value Record Name
======== ===========
T TRAILER
0 DETAILS
1 DETAILS
2 DETAILS
When using this flat file in a mapping to load the data in a staging table, the generated code looks like this:
INTO TABLE TRAILER
TRUNCATE
REENABLE DISABLED_CONSTRAINTS
WHEN (1:1) = 'T'
INTO TABLE DETAILS
APPEND
REENABLE DISABLED_CONSTRAINTS
WHEN (1:1) = '0,1,2'
The above clause (WHEN (1:1) = '0,1,2') is wrong as I expect one "INTO TABLE..." clause for each record type.
Could this be a bug or am I doing something wrong?
Thanks a lot for your help,
YorgosWe`re using two target tables, one for the trailer record and the other for the details records.
We are facing this problem from the moment we upgraded from OWB 10.1 to OWB 10.2.0.2, so we think it must be something with the way the sql loader code is generated in the new version.
As our data sources are mainly flat files coming from mainframes, this is a huge problem for us. We even asked an expert in DW from Oracle to help us on this, but still haven`t found a solution.
Is there any workaround for this or should we forget sql loader and go with an external tables + custom PL/SQL code solution?
Your help is greatly appreciated Jean-Pierre.
Regards,
Yorgos -
File- different type of mesages- split- IDOCs
team,
I am working on the above scenario using BPM. I got it working without BPM using Enhanced Interface determination and now trying to get it going with BPM to compare the performance.
1. File has multiple batch records, based on the data in the batch records two different messages (bulk AP and AR messages ) needed to be generated.
2. These bulk AP and AR messages need to be split into individual messages and mapped to IDOCs for being posted into ECC as AP and AR IDOCs.
I want to use BPM to split the file into multiple messages ( of differt types - AR and AP).Mapping into IDOC would be done outside BPM.
My BPM has
1. Receive step ( message received form the file content conversion )
2. Transformation step with I:N mapping with AP and AR as target message types
3. A fork without end condition
4. A Block in each of the branches of folk
5. A Send step in each of the blocks
My question is whether it is okay to use a folk after transformation step for handling two different interfaces coming out of transformation step.
I am able to see two different messages in the workflow log after the transformation step, but cant see them in the SXMB_MONI. And so the mapping to IDOC is not happening. The config also seem to be okay .I want to do IDOC mapping outside BPM and use BPM just for splitting the message. I have defined interface mapping for IP+IDOC in the config alomg with rest of the config.
The M1 and M2 are bulk messages. I thought I should use a ParForEach ( or for Each)block with a send inside to generate individuaul messages.This is working when I have only one bulk message generated from 1:n transformation. When I have two interfaces generated from 1:n transformation, I am struggling.
I am going to use two blocks next two each other with sends inside and see what happens
Correct me if this theory is wrong -
Logic to fetch multiple records from BKPF, SRGBTBREL and SOOD
Hi All
Need help in developing a login for a report.
We are trying to display records of a/c documents which have an associated note with them. This involves 4 categories.
1) My Document, I attached the note.
2) My Document, someone else attached the note.
3) No note attached.
4) All.
The logic desired is as below:
1) BKPF-BUKRS + BKPF-BELNR + BKPF-GJAHR = SRGBTBREL-INSTID_A. (SRGBTBREL can have multiple records for this combination if multiple notes attached)
2) a) SOOD-OBJTY = SRGBTBREL-INSTID_B+17(3).
b) SOOD-OBJYR = SRGBTBREL-INSTID_B+20(2).
c) SOOD-OBJNO = SRGBTBREL-INSTID_B+22(12).
Unique combination.
I have fetched the details from the three database tables but finding it challenging to put it across in one output internal table. It doesnu2019t cover the scenario where multiple notes are attached to the document (One can be from the same person who created the document and another ones can be from different person or both from the different people).
Thanks in advance,
HarshCode Snippet Part 2.
* Approved Document.
IF rb_app = 'X'.
CLEAR wa_sood.
* READ TABLE gt_sood INTO wa_sood WITH KEY objtp = lv_objtp
* objyr = lv_objyr
* objno = lv_objno.
LOOP AT gt_sood INTO wa_sood WHERE objtp = lv_objtp
and objyr = lv_objyr
and objno = lv_objno.
* IF sy-subrc = 0.
IF wa_bkpf-usnam <> wa_sood-cronam.
* Company Code.
wa_output-bukrs = wa_bkpf-bukrs.
* A/c Document No.
wa_output-belnr = wa_bkpf-belnr.
* Fiscal Year.
wa_output-gjahr = wa_bkpf-gjahr.
* Document Type.
wa_output-blart = wa_bkpf-blart.
* Document Date.
wa_output-budat = wa_bkpf-budat.
* Day On Which Accounting Document Was Entered.
wa_output-cpudt = wa_bkpf-cpudt.
* User name.
wa_output-usnam = wa_bkpf-usnam.
* Reverse Document Number.
wa_output-stblg = wa_bkpf-stblg.
* Transaction Code.
wa_output-tcode = wa_bkpf-tcode.
* Short description of contents.
wa_output-objdes = wa_sood-objdes.
* Creator Name.
wa_output-cronam = wa_sood-cronam.
* Date created.
wa_output-crdat = wa_sood-crdat.
* Time created.
wa_output-crtim = wa_sood-crtim.
* Status.
WRITE icon_green_light TO wa_output-light.
APPEND wa_output TO gt_output.
* CLEAR: wa_output,
* wa_sood.
* ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
* All Documents.
IF rb_all = 'X'.
* Company Code.
wa_output-bukrs = wa_bkpf-bukrs.
* A/c Document No.
wa_output-belnr = wa_bkpf-belnr.
* Fiscal Year.
wa_output-gjahr = wa_bkpf-gjahr.
* Document Type.
wa_output-blart = wa_bkpf-blart.
* Document Date.
wa_output-budat = wa_bkpf-budat.
* Day On Which Accounting Document Was Entered.
wa_output-cpudt = wa_bkpf-cpudt.
* User name.
wa_output-usnam = wa_bkpf-usnam.
* Reverse Document Number.
wa_output-stblg = wa_bkpf-stblg.
* Transaction Code.
wa_output-tcode = wa_bkpf-tcode.
CLEAR wa_sood.
* READ TABLE gt_sood INTO wa_sood WITH KEY objtp = lv_objtp
* objyr = lv_objyr
* objno = lv_objno.
LOOP AT gt_sood INTO wa_sood WHERE objtp = lv_objtp
and objyr = lv_objyr
and objno = lv_objno.
* ELSE.
IF wa_bkpf-usnam <> wa_sood-cronam.
* Status.
WRITE icon_green_light TO wa_output-light.
* Short description of contents.
wa_output-objdes = wa_sood-objdes.
* Creator Name.
wa_output-cronam = wa_sood-cronam.
* Date created.
wa_output-crdat = wa_sood-crdat.
* Time created.
wa_output-crtim = wa_sood-crtim.
ELSE.
* Status.
WRITE icon_yellow_light TO wa_output-light.
* Short description of contents.
wa_output-objdes = wa_sood-objdes.
* Creator Name.
wa_output-cronam = wa_sood-cronam.
* Date created.
wa_output-crdat = wa_sood-crdat.
* Time created.
wa_output-crtim = wa_sood-crtim.
ENDIF.
* ENDIF.
ENDLOOP.
IF sy-subrc <> 0.
WRITE icon_red_light TO wa_output-light.
ENDIF.
APPEND wa_output TO gt_output.
* CLEAR: wa_output,
* wa_sood.
ENDIF.
ENDLOOP. -
Multiple records for infotype with TC1
Hi all,
We have maintained use case A4 for mailing address in ESS.
Strangely, one of our end users, has two overlapping mailing address records! The user had a mailing address record which he edited in ESS. This edited record appears in the backend as a new record. So now the user sees two records in the backend - both with a different start date, but the same end date of 12/31/9999, instead of seeing the first record as delimited. And now when he tries to edit his mailing address in ESS, he gets an RFC error.
Ideally for TC1, a user cannot have two overlapping records and the first record gets delimited to accomodate the updated record as the current record.
Any idea, why this could be happening? We are unable to replicate this issue at our end as this scenario seems impossible for an infotype with TC1.
TIA!
Regards,
Dianaideally it should have delimited the records, but can check how the enduser created the record?
TC1 can use A1,A4,B1,B4
TC2 can use A1,A2,A3,A4,A5,B1,B2,B4,B5
TC3 can use A6,B3
Note this
A: A record can be created specifying the valid start and/or end date Multiple records can exist.. By default the ESS scenario's will allow you specify the start date as today or future date. If you wish to enable ESS scenario's to accept a start date in the past, Business Add-in "HRXSS_PER_BEGDA" can be implemented.
For more information, please refer to IMG activity "Change Default Start Date".
B: A record can be created without specifying the valid start and/or end date. Multiple records are not possible.
A4: Variant of A1, Difference to A1 being, "New <infotype/subtype>" button will always be available on the overview screen of the concerned scenario. E.g., suitable in Permanent address.
A6: Multiple infotype records of the same type (e.g. other bank) may exist for an employee at the same time. "New <infotype/subtype>" button will always be available on the overview screen of the concerned scenario. E.g., suitable in Other bank.
Maybe you are looking for
-
Temporary video stutter in games, mid 2009 MBP
Hi all, I've been having a chronic issue with my mid-2009 MBP with 256MB NVIDIA 9400M, only noticeable when playing games. Starting a few minutes after I start playing a game, the video will stutter in regular, discrete chunks. It will run fine for
-
I seem to have lost the groups from my Address Book in the address book tool in Mail. When I try to address a new email, all my contacts are grouped under all and the other groups found in my Address Book application are missing. Is there a way to ge
-
Custom search criteria in MSS Team Calendar
My requirement is to add a custom entry (All Salaried/Exempt employees) in the Employee Selection (Display Data For) drop down in MSS Team Calendar. I have created a custom org structure view by copying the one for "All Employees" - MSS_LTV_EE_ALL Th
-
How EKNUM is updated in Billing ?
Hi I am creating a CR- sales order document type and then directly creation a Credit Memo ( G2) by doing VF01. The problem is in VBRK tbal EKNUM is blank. It means system is not recognising it as Foreign Trade data. I need to understand How this Fiel
-
Photo goes black when editing it
Hi, I acknowledge this is a fairly common matter, but let me try to share my on experience. For the past few days, I have been importing photos in my iPhoto library either from .jpg docs or brand new ones from my digital camera. Each time I try to ed