Looping a segment in DMEE
Hi,
I have created a DMEE format for which, during a payment run, I require one particular node to execute continuously as the number of vendor , the payment has been made to.
Basically I need a segment to be LOOPed. Is there option available through the transctions OBPM1/2/3/4? If yes, how can I proceed with the same?
Regards,
Trishna
Hi,
I did look into your suggestion, through which I created three segments of three different levels...i.e.,
HEADER------>level1
segment1---->level1
element1
element2
element3
SEGMENT2----->level2
element4
element5
element6
SEGMENT3------->level3
element7
SEGMENT4------>level1
element8
element9
I was hoping for an output which looks like the below, for two invoices.
element1 element2 element3
element4 element5 element6
element4 element5 element6
element7
element8 element9
But I am getting only the first record "element1 element2 element3" in my download file when I specify the levels.
Could you suggest what I might be missing? Its a little important that I figure this out soon.
Thanks,
Trishna
Similar Messages
-
Need to send multiple Loop-N1 Segments
Hi All,
I have created a BPEL process that takes a custom input XML document and creates and EDI 810 Invoice out of it.
The custom document has elements something like the below
<Invoice_Data>
<customer_Name>Customer Name</customer_Name>
<customer_Address>Customer Address</customer_Address>
<seller_Name>Seller Name</seller_Name>
<seller_Address>Seller Address</seller_Address>
</Invoice_Data>
The output needs to be something like this
<Transaction-810>
<Loop-N1>
<Segment-N1>
<Element-01>Customer Name</Element-01>
<Element-02>Customer Address</Element-02>
</Segment-N1>
</Loop-N1>
<Loop-N1>
<Segment-N1>
<Element-01>Seller Name</Element-01>
<Element-02>Seller Address</Element-02>
</Segment-N1>
</Loop-N1>
</Transaction-810>
I am using a transform activity but created the first N-1 Segment is easy but i do not understand how can i create two entries of that segment.
Please can someone help me with the xslt transform needed for this? An example would be really helpfulIf the LoopN1 elements are not equal, you need to specify them separately in your template (this can't be done in design view as far as i know). The following works on your sample input:
<xsl:template match="/">
<Transaction-810>
<Loop-N1>
<Segment-N1>
<Element-01>
<xsl:value-of select="/Invoice_Data/customer_Name"/>
</Element-01>
<Element-02>
<xsl:value-of select="/Invoice_Data/customer_Address"/>
</Element-02>
</Segment-N1>
</Loop-N1>
<Loop-N1>
<Segment-N1>
<Element-01>
<xsl:value-of select="/Invoice_Data/seller_Name"/>
</Element-01>
<Element-02>
<xsl:value-of select="/Invoice_Data/seller_Address"/>
</Element-02>
</Segment-N1>
</Loop-N1>
</Transaction-810>
</xsl:template> -
Issue with XSLT For each loop in B2B Mapping
Hi All,
I am trying to map the inbound 997 Payload into Headers and Lines Table. I am using the For Each XSLT Construct to map the Loop AK2 of 997 into the 997 Lines Collection.
Issue I am facing is that if the Loop AK2 is repeated for 33 times then for all the 33 times only its first element's value is getting passed into the target of mapping file.
in coming payload
<Loop-AK2>
<Segment-AK2>
<Element-143>810</Element-143>
<Element-329>0001</Element-329>
</Segment-AK2>
<Segment-AK5>
<Element-717>A</Element-717>
</Segment-AK5>
</Loop-AK2>
<Loop-AK2>
<Segment-AK2>
<Element-143>810</Element-143>
<Element-329>0002</Element-329>
</Segment-AK2>
<Segment-AK5>
<Element-717>A</Element-717>
</Segment-AK5>
</Loop-AK2>
<Loop-AK2>
<Segment-AK2>
<Element-143>810</Element-143>
<Element-329>0003</Element-329>
</Segment-AK2>
<Segment-AK5>After transformation using XSLT file the payload looks like as follows
<ns0:XxmfiEdi997_AckLines>
<ns0:lineId>33</ns0:lineId>
<ns0:trxSetIdentCode>810</ns0:trxSetIdentCode>
<ns0:trxSetControlNumber>0001</ns0:trxSetControlNumber>
<ns0:segmentCode/>
<ns0:segmentPosition/>
<ns0:segmentError/>
<ns0:trxSetAckCode>A</ns0:trxSetAckCode>
</ns0:XxmfiEdi997_AckLines>
<ns0:XxmfiEdi997_AckLines>
<ns0:lineId>34</ns0:lineId>
<ns0:trxSetIdentCode>810</ns0:trxSetIdentCode>
<ns0:trxSetControlNumber>0001</ns0:trxSetControlNumber>
<ns0:segmentCode/>
<ns0:segmentPosition/>
<ns0:segmentError/>
<ns0:trxSetAckCode>A</ns0:trxSetAckCode>
</ns0:XxmfiEdi997_AckLines>
<ns0:XxmfiEdi997_AckLines>
<ns0:lineId>35</ns0:lineId>
<ns0:trxSetIdentCode>810</ns0:trxSetIdentCode>
<ns0:trxSetControlNumber>0001</ns0:trxSetControlNumber>
<ns0:segmentCode/>
<ns0:segmentPosition/>
<ns0:segmentError/>
<ns0:trxSetAckCode>A</ns0:trxSetAckCode>
</ns0:XxmfiEdi997_AckLines>
<ns0:XxmfiEdi997_AckLines>
<ns0:lineId>36</ns0:lineId>
<ns0:trxSetIdentCode>810</ns0:trxSetIdentCode>
<ns0:trxSetControlNumber>0001</ns0:trxSetControlNumber>
<ns0:segmentCode/>
<ns0:segmentPosition/>
<ns0:segmentError/>
<ns0:trxSetAckCode>A</ns0:trxSetAckCode>
</ns0:XxmfiEdi997_AckLines>
<ns0:XxmfiEdi997_AckLines>
<ns0:lineId>37</ns0:lineId>
<ns0:trxSetIdentCode>810</ns0:trxSetIdentCode>
<ns0:trxSetControlNumber>0001</ns0:trxSetControlNumber>
<ns0:segmentCode/>
<ns0:segmentPosition/>the Element-329 of incoming source payload is mapped to trxSetControlNumber of target payload, the issue is obvious from the above XML data that trxSetControlNumber is always having the value 0001 for every occurence where as its expected to fetch the value of the element of its corresponding occurence not the first elements value.
Please find below the xslt file code i used for mapping
<ns0:XxmfiEdi997_AckHeadersCollection>
<ns0:XxmfiEdi997_AckHeaders>
<ns0:headerId>
<xsl:value-of select='oraext:sequence-next-val("XXMFI_EDI_997_ACK_HEADERS_S","jdbc/MTSI-apps")'/>
</ns0:headerId>
<ns0:processFlag>
<xsl:text disable-output-escaping="no">I</xsl:text>
</ns0:processFlag>
<ns0:xxmfiEdi997_AckLinesCollection>
<xsl:for-each select="/ns1:Transaction-997/ns1:Loop-AK2">
<ns0:XxmfiEdi997_AckLines>
<ns0:lineId>
<xsl:value-of select='oraext:sequence-next-val("XXMFI_EDI_997_ACK_LINES_S","jdbc/MTSI-apps")'/>
</ns0:lineId>
<ns0:trxSetIdentCode>
<xsl:value-of select="/ns1:Transaction-997/ns1:Loop-AK2/ns1:Segment-AK2/ns1:Element-143"/>
</ns0:trxSetIdentCode>
<ns0:trxSetControlNumber>
<xsl:value-of select="ns1:Segment-AK2/ns1:Element-329"/>
</ns0:trxSetControlNumber>
<ns0:segmentError>
<xsl:value-of select="/ns1:Transaction-997/ns1:Loop-AK2/ns1:Loop-AK3/ns1:Segment-AK3/ns1:Element-720"/>
</ns0:segmentError>
<ns0:trxSetAckCode>
<xsl:value-of select="/ns1:Transaction-997/ns1:Loop-AK2/ns1:Segment-AK5/ns1:Element-717"/>
</ns0:trxSetAckCode>
</ns0:XxmfiEdi997_AckLines>
</xsl:for-each>
</ns0:xxmfiEdi997_AckLinesCollection>
</ns0:XxmfiEdi997_AckHeaders>Is there something I am doing wrong in mapping or am I missing something here. Please suggest .
Thanks in advance
~TK.Hi,
In your xslt code within the for loop, for the trxSetIdentCode why are you using the xpath "/ns1:Transaction-997/ns1:Loop-AK2/ns1:Segment-AK2/ns1:Element-143"? It should be just "ns1:Segment-AK2/ns1:Element-143". Similar changes for segmentError and trxSetAckCode also should be done. Remove the '/ns1:Transaction-997/ns1:Loop-AK2/' part from your xpath expressions inside the for loop and try it.
Sahay -
PI : Idoc to JDBC scenario : repeating segments mapping issue
Experts
Please help.
Question reg. mapping for ECC idoc to JDBC scenario.
I am using the ORDRSP idoc which has multiple segments as below.
IDOC -> multiple E1EDK14 segments with 2 fields (QUALF and ORGID)
Depending on the value of the QUALF field i need to populate the column in my target structure.
QUALF 001 => Colmn a
QUALF 002 => Colmn b
For now my graphical mapping is very simple - QUALF => column a (done just to find out how PI mapping works)
What happens in my case, is the PI Payload shows all the E1EDK14 segments however only the value 006 present in the first occurence goes into the target column.
How do I repeat a mapping between QUALF and target col. for multiple occurences of the same segment?
Please can you guide me reg. use of context, loop over segment, UDF = which will be the best solution to achieve this?Hi
My mapping is as below. I will take an example of a sales order that has 2 line items 00010, 00020. The payload is as follows
I see this payload in the SXMB_MONI transaction => Receiver grouping => Payloads
- <ZORDRES>
- <IDOC BEGIN="1">
+ <EDI_DC40 SEGMENT="1">
+ <E1EDK01 SEGMENT="1">
+ <E1EDK14 SEGMENT="1">
<QUALF>006</QUALF>
<ORGID>01</ORGID>
</E1EDK14>
+ <E1EDK14 SEGMENT="1">
<QUALF>007</QUALF>
<ORGID>01</ORGID>
</E1EDK14>+ <E1EDK03 SEGMENT="1">
+ <E1EDK03 SEGMENT="1">
+ <E1EDK03 SEGMENT="1">
+ <E1EDK03 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDK02 SEGMENT="1">
+ <E1EDK02 SEGMENT="1">
+ <E1EDK17 SEGMENT="1">
+ <E1EDK18 SEGMENT="1">
+ <E1EDK18 SEGMENT="1">
+ <E1EDP01 SEGMENT="1">
<POSEX>000010</POSEX>
+ <E1EDP01 SEGMENT="1">
<POSEX>000020</POSEX>
</E1EDP01>+ <E1EDS01 SEGMENT="1">
<SUMID>001</SUMID>
<SUMME>2</SUMME>
</E1EDS01>
+ <E1EDS01 SEGMENT="1">
<SUMID>002</SUMID>
<SUMME>1100.00</SUMME>
<SUNIT>GBP</SUNIT>
</E1EDS01>
</IDOC>
</ZORDRES>
There are 2 problems. First one which I discovered after posting the query. I can see only the line item 10 in the query that gets contructed in PI to insert the data into the target jdbc table. Please see jdbc receiver communication channel log below
If you see above there are 2 E1EDP01 segments for line 00010, 00020.
INSERT INTO tblOItem (IDocDate, IDocTime, SalesOrderNo, ItemNo, Plant, ItemCategory, UnitSellPrice, QuantityOrdered, QuantityAllocated, ScheduledDeliveryDate) VALUES (20111206, 135530, 0015002085, 000010, 0086, ZTAN, 0.00, 1.000, 1.000, 20111201)
My source and target mappings are as below.
ZSALORD
IDOC
BEGIN
E1EDK01
E1EDP01
POSEX =============> SalOrdItm table column itemno
My target side structure (idoc to jdbc scenario is as follows)
I have mapped the E1EDP01 to Statement - I thought this will build one query per line item (per occurence of E1EDP01) but this is not working.
MT_OITEM
Statement
dbtablename ============> SalOrdItm
action =================> Insert
table
access
Itemno (this is one of the columns from the table)
The occurence of E1EDP01 is 0..9999999 while the occurence of Statement node is 1...unbounded.
Please is there any email address where I can send you screen shots if the above is not clear.
I need to get this interface delivered as soon as possible but am STUCK.
Edited by: gary jojo on Dec 6, 2011 3:06 PM -
Need to access parent elements in nested for-each loop
Hi All,
I have a xslt mapping requirement in which I am completely stuck. The details are as listed below. Please help!
Schema structure is as follows:
Root
Payload
Transaction-123
Loop-LINE
Loop-SDPP
Segment-FSTT
Element-111
Required xslt file structure is:
<xsl:for-each Loop-LINE>
<tns:Item>
<Line-1000>
<Line-2000>
<Line-3000>
<Line-8000>
<xsl:for-each Loop-SDPP>
<xsl:for-each Segment-FSTT[ns0:Element-111 != "A"]>
<SDetails>
</SDetails>
<xsl:for-each Loop-LINE> --------- How to access Loop-LINE element from this for loop????
<tns:Item>
<2000>
<2020>
<2070>
<2150>
</tns:Item>
</xsl:for-each>
</for-each>
</for-each>
</tns:item>
</for-each>
Need help in understanding how can I run a for-each loop for Loop-LINE which is two levels up in the schema tree structure.
Thanks..Thanks for this answer but I can't obtain the right output with my test case; the multi column must be in the loop as that :
ALPHABETICAL INDEX C1
Alternator .......................................... Feed Pump
Belt Details / Engine Gaskets Sets ..... Flywheel Housing
< NEW PAGE>
INDEX ALPHABETIQUE C2
Alternateur......................................... Culbuteurs
Bloc-Cylindres.................................... Demarreur
Denis -
Populating value in idoc segment E1EDP02 for INVOIC01- incoming invoice
Hi Friends,
I am working to get the incoming freight invoice posted to MIRO, using
IDOC : INVOIC01
message type: INVOIC
process code: INVL
function module : IDOC_INPUT_INVOIC_MRM
Vendor does not send the PO number only send the bill of lading number(shipment number). So i have customised the IDOC with one segment for getting bill of lading number. My requirement is get bill of lading number and then get PO no and populate into segment E1EDP02. I am not able to populate this field and hence each time the IDOC fails with message :
Required field BELNR(001) is missing in segment E1EDP02
Required field ZEILE(001) is missing in segment E1EDP02
Please tell me how to get this field populated and get the issue resolved. I have been trying to figure out for couple of days but no success OR My approach is incorrect for posting invoice to MIRO with populating field segment.
Please suggest.
Thanks
DeepakThanks everyone for getting the issue resolved. I have implemented implicit enhanencement and before the function module strarts procesing, I loop over segments and fill up the PO number to E1EDP02 for bill of lading number. There was also a case of error handling for IDOC. That is to check if the amount sent by vendor is correct as compared to the amount on the shipment cost docuemnt, if they dont match then I need to send an email to the business informing them for bill of lading number and amount. There is also another check to find out if the bill of lading number has already been invoiced, if invoiced I again need to inform the business user.
So keep all the requirements in mind I went with Implicit enhancement, thus populating the required segment and if the validations fail for amount or invoice document already generated, then I send the mail to business with bill of lading number and reason of failure. In such case IDOC is not executed and after sending the mail, the logic exits out of function module.
I -
Biztalk EDI 856 Mapping H1 Segment
Hi,
I'm new to EDI 856 mapping in Biztalk. I have to map xml schema to EDI 856 XSD and generate a EDI file through biztalk.
I've 3 datasets (repeating nodes) in internal schema (shipment level, order level and item level) I have to map this data to EDI 856 in Biztalk mapping. But the complexity is i have to map all the data's with-in HL loop. I have to repeat HL loop thrice
for shipment level , order level , and item level and each time i should map data to different segments. (ex: i should have LIN segment only at item level).
My output should be like
<HL> --SHIPMENT LEVEL
<TD1></TD1>
<TD3></TD3>
<REF></REF>
<FOB></FOB>
<HL> -- ORDER LEVEL
<TD1></TD1>
<REF></REF>
<N1></N1>
<HL> --ITEM LEVEL
<LIN></LIN>
<SN1></SN1>
<TD></TD>
The problem i face is since i loop HL segment the N1 which should be present only at order level gets repeated at shipment and item level too. Please help me or suggest any study material , its urgent.
Thanks in advance..Hi,
I can anyone help me to map a flat XSD to a structured XSD in biztalk mapping.
Incoming Schema
Record
<Shipmentdata>
<Shipmentdata1>
<Shipmentdata2>
<Orderdata>
<Orderdata1>
<Orderdata2>
<ItemData>
<ItemData1>
<ItemData2>
OutputSchema
<shipmentData>
<OrderData>
<ItemData>
My input schema is a flat one which i take from DB (ex: if there is 15 items in one shipment and 3 orders the xml will repeat 15 times with repeating data in shipment node and order node). I should convert it into a Structured XML with 3 level of hierarchy.
Please help with Biztalk mapper example. Thanks in advance. -
I am using DME in F110 to generate my output.
The output format is not correct.
Ideally, each segment (that was created in DMEE) should start on a new line in the output.
But, the segments appear sequentially.
For example:
FH00 Record Type, Product #, Client ID etc..BH00 Record Type Location # etc...
I want BH00 to start from a new line so it looks like this:
FH00 Record Type, Product Code, Client ID etc..
BH00 Record Type Location Code etc...
What do I do?
I believe I have to use the carriage return functionalit but dunno how.
I tried inserting empty segments in DME format tree for generating CR/LF
But that didn't work out.
Any suggestions?
Thanks for your time
VjHi Ashokkumar:
I left the Fmt-spec.strct field blank, entered all the other values, but I still can't get the segments in the output to start from a new line.
For segment properties/values, under "End of Segment" I selected "Define Different Settings For This Segment" and checked on "Carriage Return"
Still doesn't work out.
Is there anything else I am missing?
Any suggestions?
Vj -
Getting error while testing a outbound file in oracle B2B11g
Hi,
I am trying to configuare a outbound scenario in oracle B2B 11g.
I have created .ecs file and .xsd file and created a document type also and i am using generic file 1.0 as a lintening channel protocol and trying to read the input xml document from a perticular path.
I had setup partner and agreement also. everything is working fine and also file is succesfully polling from the source folder but i am getting error in B2B as :
B2B-50083
Error Description Machine Info: (infva0325) Description: Document protocol identification error.
Error Level ERROR_LEVEL_COLLABORATION
Error Severity ERROR
Error Text Document protocol identification error.
Can anyone guide me how to resolve this error?
I had tried everything but of no use.
Please do reply me with your suggestions.Hi Anuj,
Please find below xml data which will be saved as .txt file for outbound processing. Let me know if there are any changes i have to do. Please let me know if you need any further information. Listening channel is reading the file but in agreement level it is failing.
<?xml version="1.0" encoding="UTF-8"?><Transaction-DESADV XDataVersion="1.0" Standard="EDIFACT" Version="D93A" CreatedBy="ECXEngine_837" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" CreatedDate="2011-12-14T12:59:40" GUID="{2d323135-3336-3630-3232-313938393033}" xmlns="urn:oracle:integration:b2b:099C29D4C4ED419194917C20ADF8ABC3">
<Internal-Properties>
<Data-Structure Name="Interchange">
<Property Name="InterchangeSenderID">senderID</Property>
<Property Name="InterchangeSenderQual">senderQuali</Property>
<Property Name="InterchangeReceiverID">RecieverID</Property>
<Property Name="InterchangeReceiverQual">RecieverQuali</Property>
<Property Name="RepeatingSeparator"/>
<Property Name="InterchangeApplicationRef">DESADV</Property>
<Data-Structure Name="Transaction">
<Property Name="TransactionID">DESADV</Property>
<Property Name="TransactionControllingAgency"/>
<Property Name="TransactionMessageVersionNumber">D</Property>
<Property Name="TransactionMessageReleaseNumber">93A</Property>
<Property Name="TransactionAssociationAssignedCode"/>
</Data-Structure>
</Data-Structure>
</Internal-Properties>
<Segment-UNH>
<Element-0062>#ControlNumber#</Element-0062>
<Composite-S009>
<Element-0065>DESADV</Element-0065>
<Element-0052>D</Element-0052>
<Element-0054>93A</Element-0054>
<Element-0051>UN</Element-0051>
<Element-0057>EDIT30</Element-0057>
</Composite-S009>
</Segment-UNH>
<Segment-BGM>
<Composite-C002>
<Element-1001>351</Element-1001>
</Composite-C002>
<Element-1004>3364382</Element-1004>
</Segment-BGM>
<Segment-DTM>
<Composite-C507>
<Element-2005>137</Element-2005>
<Element-2380>20111214</Element-2380>
<Element-2379>102</Element-2379>
</Composite-C507>
</Segment-DTM>
<Loop-Group_2>
<Segment-NAD>
<Element-3035>SH</Element-3035>
<Composite-C082>
<Element-3039>7393142020009</Element-3039>
<Element-1131 xsi:nil="true"/>
<Element-3055>9</Element-3055>
</Composite-C082>
</Segment-NAD>
</Loop-Group_2>
<Loop-Group_2>
<Segment-NAD>
<Element-3035>CN</Element-3035>
<Composite-C082>
<Element-3039>7350056030012</Element-3039>
<Element-1131 xsi:nil="true"/>
<Element-3055>9</Element-3055>
</Composite-C082>
</Segment-NAD>
</Loop-Group_2>
<Loop-Group_10>
<Segment-CPS>
<Element-7164>1</Element-7164>
</Segment-CPS>
<Loop-Group_15>
<Segment-LIN>
<Element-1082>1</Element-1082>
<Element-1229 xsi:nil="true"/>
</Segment-LIN>
<Segment-PIA>
<Element-4347>5</Element-4347>
<Composite-C212_1>
<Element-7140>210587</Element-7140>
<Element-7143>BP</Element-7143>
</Composite-C212_1>
</Segment-PIA>
<Segment-QTY>
<Composite-C186>
<Element-6063>12</Element-6063>
<Element-6060>3</Element-6060>
</Composite-C186>
</Segment-QTY>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>PK</Element-1153>
<Element-1154>1</Element-1154>
</Composite-C506>
</Segment-RFF>
</Loop-Group_16>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>VN</Element-1153>
<Element-1154>6152310</Element-1154>
</Composite-C506>
</Segment-RFF>
<Segment-DTM>
<Composite-C507>
<Element-2005>171</Element-2005>
<Element-2380>20111214</Element-2380>
<Element-2379>102</Element-2379>
</Composite-C507>
</Segment-DTM>
</Loop-Group_16>
<Loop-Group_23>
<Segment-QVA>
<Composite-C279>
<Element-6064>0</Element-6064>
<Element-6063_1>83</Element-6063_1>
</Composite-C279>
<Element-4221>CP</Element-4221>
</Segment-QVA>
</Loop-Group_23>
</Loop-Group_15>
<Loop-Group_15>
<Segment-LIN>
<Element-1082>2</Element-1082>
<Element-1229 xsi:nil="true"/>
</Segment-LIN>
<Segment-PIA>
<Element-4347>5</Element-4347>
<Composite-C212_1>
<Element-7140>210510</Element-7140>
<Element-7143>BP</Element-7143>
</Composite-C212_1>
</Segment-PIA>
<Segment-QTY>
<Composite-C186>
<Element-6063>12</Element-6063>
<Element-6060>3</Element-6060>
</Composite-C186>
</Segment-QTY>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>PK</Element-1153>
<Element-1154>1</Element-1154>
</Composite-C506>
</Segment-RFF>
</Loop-Group_16>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>VN</Element-1153>
<Element-1154>6152310</Element-1154>
</Composite-C506>
</Segment-RFF>
<Segment-DTM>
<Composite-C507>
<Element-2005>171</Element-2005>
<Element-2380>20111214</Element-2380>
<Element-2379>102</Element-2379>
</Composite-C507>
</Segment-DTM>
</Loop-Group_16>
<Loop-Group_23>
<Segment-QVA>
<Composite-C279>
<Element-6064>0</Element-6064>
<Element-6063_1>83</Element-6063_1>
</Composite-C279>
<Element-4221>CP</Element-4221>
</Segment-QVA>
</Loop-Group_23>
</Loop-Group_15>
<Loop-Group_15>
<Segment-LIN>
<Element-1082>3</Element-1082>
<Element-1229 xsi:nil="true"/>
</Segment-LIN>
<Segment-PIA>
<Element-4347>5</Element-4347>
<Composite-C212_1>
<Element-7140>081349</Element-7140>
<Element-7143>BP</Element-7143>
</Composite-C212_1>
</Segment-PIA>
<Segment-QTY>
<Composite-C186>
<Element-6063>12</Element-6063>
<Element-6060>1</Element-6060>
</Composite-C186>
</Segment-QTY>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>PK</Element-1153>
<Element-1154>2</Element-1154>
</Composite-C506>
</Segment-RFF>
</Loop-Group_16>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>VN</Element-1153>
<Element-1154>6152310</Element-1154>
</Composite-C506>
</Segment-RFF>
<Segment-DTM>
<Composite-C507>
<Element-2005>171</Element-2005>
<Element-2380>20111214</Element-2380>
<Element-2379>102</Element-2379>
</Composite-C507>
</Segment-DTM>
</Loop-Group_16>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>NB</Element-1153>
<Element-1154>JF074</Element-1154>
</Composite-C506>
</Segment-RFF>
<Segment-DTM>
<Composite-C507>
<Element-2005>21E</Element-2005>
<Element-2380>20160905</Element-2380>
<Element-2379>102</Element-2379>
</Composite-C507>
</Segment-DTM>
</Loop-Group_16>
<Loop-Group_23>
<Segment-QVA>
<Composite-C279>
<Element-6064>0</Element-6064>
<Element-6063_1>83</Element-6063_1>
</Composite-C279>
<Element-4221>CP</Element-4221>
</Segment-QVA>
</Loop-Group_23>
</Loop-Group_15>
<Loop-Group_15>
<Segment-LIN>
<Element-1082>4</Element-1082>
<Element-1229 xsi:nil="true"/>
</Segment-LIN>
<Segment-PIA>
<Element-4347>5</Element-4347>
<Composite-C212_1>
<Element-7140>051596</Element-7140>
<Element-7143>BP</Element-7143>
</Composite-C212_1>
</Segment-PIA>
<Segment-QTY>
<Composite-C186>
<Element-6063>12</Element-6063>
<Element-6060>1</Element-6060>
</Composite-C186>
</Segment-QTY>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>PK</Element-1153>
<Element-1154>2</Element-1154>
</Composite-C506>
</Segment-RFF>
</Loop-Group_16>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>VN</Element-1153>
<Element-1154>6152310</Element-1154>
</Composite-C506>
</Segment-RFF>
<Segment-DTM>
<Composite-C507>
<Element-2005>171</Element-2005>
<Element-2380>20111214</Element-2380>
<Element-2379>102</Element-2379>
</Composite-C507>
</Segment-DTM>
</Loop-Group_16>
<Loop-Group_16>
<Segment-RFF>
<Composite-C506>
<Element-1153>NB</Element-1153>
<Element-1154>116812505</Element-1154>
</Composite-C506>
</Segment-RFF>
<Segment-DTM>
<Composite-C507>
<Element-2005>21E</Element-2005>
<Element-2380>20150131</Element-2380>
<Element-2379>102</Element-2379>
</Composite-C507>
</Segment-DTM>
</Loop-Group_16>
<Loop-Group_23>
<Segment-QVA>
<Composite-C279>
<Element-6064>0</Element-6064>
<Element-6063_1>83</Element-6063_1>
</Composite-C279>
<Element-4221>CP</Element-4221>
</Segment-QVA>
</Loop-Group_23>
</Loop-Group_15>
</Loop-Group_10>
<Segment-CNT>
<Composite-C270>
<Element-6069>2</Element-6069>
<Element-6066>4</Element-6066>
</Composite-C270>
</Segment-CNT>
<Segment-UNT>
<Element-0074>#SegmentCount#</Element-0074>
<Element-0062>#ControlNumber#</Element-0062>
</Segment-UNT>
</Transaction-DESADV> -
GB 08-Importing mp3 file from media browser---does this affect source file?
Hello again,
Another question...
I imported an mp3 from my iTunes folder into GB (to jam over). I did this via the media browser, and it came in fine. I next wanted to create a looped rhythm segment from that file to jam over. I know how to do this, and then add it as a loop to the library. However, does this alter the source file at all (in the iTunes folder)? Do I need to make a copy of this in the GB folder first before I start splicing? I think I read that GB will not alter files, just "regions" but I wanted to make sure.
On a related note, does GB point to a location for the source file (even if it's been spliced)? So if I moved that iTunes folder would it be a problem?
Thanks!However, does this alter the source file at all
no
does GB point to a location for the source file (even if it's been spliced)?
yes, and no. originally, yes, but once saved as a loop, that little clip is saved as it's own file to your lib
So if I moved that iTunes folder would it be a problem?
same as above. it will in the first case, won't in the second -
User-Defined Function and Context Manipulation
Hi Mapping Gurus, I need your help.
I have a user-defined function and one of my input parameter (c) is in a loop (EDI segment). So one, if I execute my function I get:
Exception:[java.lang.ArrayIndexOutOfBoundsException: 0]
If I change the context or use the remove context node function its working but its always taking the first row in consideration since I'm using c[0] . Here is the logic:
String WHERE_CLAUSE = "A"" = ""'"b[0]"'"" and B = ""'"c[0]"'";
So since c is an array [], I have tried different logic to get to the right row.
1- I tried using another parameter (e) to pass a counter or an index to my function. So each time it's looping, it's passing a new value to the function but Im still getting the first row and Im not to sure why?
int G = Integer.parseInt(e[0]); // e[] = My counter field
String WHERE_CLAUSE = "A"" = ""'"b[0]"'"" and B = ""'"c[G]"'";
2- I tried using a parameter stored in the container:
String Num;
Num = (String)getParameter(counter);
if (Num == null) G = 0;
else
G = Integer.parseInt(Num);
G = G + 1;
String WHERE_CLAUSE = "A"" = ""'"b[0]"'"" and B = ""'"c[G]"'";
Num = "" + G;
setParameter(e[0], Num);
and Im still getting the first one, look like its using a different container each time its looping so the Value is always the same?
4- I created a new user-defined function with the container logic, then its working but Im back to the same problem in my main function, its only looking at e[0] for my counter all the time.
5- I tried using the Seeburger Java Variables and guess what in the main fonction, as new UDF,... and guess what, same result!
So anybody out there that was able to get UDF's working into a multiple context scenario?
Am I missing something?
I will reward points and beer for any help!This is one of the text with passing a counter to the function to try to go to the right row in the array since I'm doing a remove context and I'm getting all the d_234's:
public void ReadTable(String[] a,String[] b,String[] c,String[] d,String[] e,ResultList result,Container container){
int G = Integer.parseInt(e[0]); // My counter
String var;
String DBTABLE = a[0];
String lookUpField = d[0];
String WHERE_CLAUSE = "A"" = ""'"b[0]"'"" and B = ""'"c[G]"'";
Now this one was with the internal container logic:
int G;
String DBTABLE = a[0];
String lookUpField = d[0];
String Num;
Num = (String)getParameter(e[0]);
if (Num == null) G = 0;
else
G = Integer.parseInt(Num);
G = G + 1;
Num = "" + G;
setParameter(e[0], Num);
String WHERE_CLAUSE = "A"" = ""'"b[0]"'"" and B = ""'"c[G]"'";
And now with the Seeburger Variables:
int G;
try {
VariableBean be=VariableFactory.getVariableInstance("");
G = Integer.parseInt(String.valueOf(be.getStringVariable("yves")));
} catch (Exception f) {
throw new RuntimeException(f);
String DBTABLE = a[0];
String lookUpField = d[0];
String WHERE_CLAUSE = "A"" = ""'"b[0]"'"" and B = ""'"c[G]"'";
try {
G = G + 1;
Num = "" + G;
VariableBean be=VariableFactory.getVariableInstance("");
be.setStringVariable("yves",Num);
catch (Exception f) {
throw new RuntimeException(f);
All 3 logics were returning always the first row or a counter of 1 if the logic is in the main ReadTable function. -
Trading partner agreement lookup failed as From trading partner cannot be i
Hi,
I am sending 850 EDI XML to our Penske trading partner, Its throwing below error. Could anyone helpme how to resolve this issue. Please do the needful.
our sender id is EMR and receiver id is Penske( I am also attaching a file which i am processing)
Machine Info: (essapt020-u009.emrsn.com)
Description: Make sure the trading partner has name, type, and value information
StackTrace:
Error -: AIP-50548: Trading partner agreement lookup failed as From trading partner cannot be identified
at oracle.tip.adapter.b2b.tpa.TPAIdentifier.identifyTPA(TPAIdentifier.java:199)
at oracle.tip.adapter.b2b.tpa.TPAProcessor.processTPA(TPAProcessor.java:589)
at oracle.tip.adapter.b2b.tpa.TPAProcessor.processOutgoingTPA(TPAProcessor.java:221)
at oracle.tip.adapter.b2b.engine.Engine.processOutgoingMessage(Engine.java:1061)
at oracle.tip.adapter.b2b.transport.AppInterfaceListener.onMessage(AppInterfaceListener.java:141)
at oracle.tip.transport.basic.FileSourceMonitor.processMessages(FileSourceMonitor.java:903)
at oracle.tip.transport.basic.FileSourceMonitor.run(FileSourceMonitor.java:317)
File which i processed
<?xml version="1.0" ?>
- <Transaction-850 xmlns="urn:oracle:integration:b2b:BD5A9C92A91F474292233E610E5258F9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" XDataVersion="1.0" Standard="X12" Version="V4010" CreatedDate="2009-09-14T06:20:48" CreatedBy="ECXEngine_837" GUID="{3A6795B0-F6A0-DE11-B354-00144F86C7D4}">
- <Internal-Properties>
- <Data-Structure Name="Interchange">
<Lookup Name="InterchangeSenderQual">ZZ</Lookup>
<Lookup Name="InterchangeSenderID">EMR</Lookup>
<Lookup Name="InterchangeReceiverQual">ZZ</Lookup>
<Lookup Name="InterchangeReceiverID">Penske</Lookup>
<Lookup Name="InterchangeControlVersion">00401</Lookup>
<Lookup Name="Standard">X12</Lookup>
<Property Name="InterchangeAuthorizationInfoQual">00</Property>
<Property Name="InterchangeAuthorizationInfo" />
<Property Name="InterchangeSecurityInfoQual">00</Property>
<Property Name="InterchangeSecurityInfo" />
<Property Name="InterchangeSenderQual">ZZ</Property>
<Property Name="InterchangeSenderID">EMR</Property>
<Property Name="InterchangeReceiverQual">ZZ</Property>
<Property Name="InterchangeReceiverID">Penske</Property>
<Property Name="InterchangeDate">090909</Property>
<Property Name="InterchangeTime">1419</Property>
<Property Name="InterchangeControlStandard_RepeatingSeparator">U</Property>
<Property Name="InterchangeControlVersion">00401</Property>
<Property Name="InterchangeControlNumber">000085390</Property>
<Property Name="InterchangeAckRequested">0</Property>
<Property Name="InterchangeUsageIndicator">P</Property>
<Property Name="InterchangeComponentElementSep">0x3e</Property>
<Property Name="DecimalSeparator" />
<Property Name="ElementDelimiter">0x2a</Property>
<Property Name="ReleaseCharacter" />
<Property Name="RepeatingSeparator" />
<Property Name="SegmentDelimiter">0x7e</Property>
<Property Name="SubelementDelimiter">0x3e</Property>
<Property Name="InterchangeChildCount">1</Property>
<Property Name="InterchangeTrailerControlNumber">000085390</Property>
- <Data-Structure Name="Group">
<Lookup Name="GroupSenderID">EMR</Lookup>
<Lookup Name="GroupReceiverID">Penske</Lookup>
<Lookup Name="GroupVersionNumber">004010</Lookup>
<Property Name="GroupID">PO</Property>
<Property Name="GroupSenderID">EMR</Property>
<Property Name="GroupReceiverID">Penske</Property>
<Property Name="GroupDate">20090909</Property>
<Property Name="GroupTime">1419</Property>
<Property Name="GroupControlNumber">85364</Property>
<Property Name="GroupAgencyCode">X</Property>
<Property Name="GroupVersionNumber">004010</Property>
<Property Name="GroupChildCount">1</Property>
<Property Name="GroupTrailerControlNumber">85364</Property>
- <Data-Structure Name="Transaction">
<Lookup Name="TransactionID">850</Lookup>
<Property Name="TransactionID">850</Property>
<Property Name="TransactionControlNumber">0001</Property>
<Property Name="TransactionImplementationReference" />
<Property Name="TransactionChildCount">24</Property>
<Property Name="TransactionTrailerControlNumber">0001</Property>
</Data-Structure>
</Data-Structure>
</Data-Structure>
</Internal-Properties>
- <Segment-ST>
<Element-143>850</Element-143>
<Element-329>0001</Element-329>
</Segment-ST>
- <Segment-BEG>
<Element-353>00</Element-353>
<Element-92>SA</Element-92>
<Element-324>16010055985</Element-324>
<Element-328 xsi:nil="true" />
<Element-373>20090909</Element-373>
<Element-367 xsi:nil="true" />
<Element-587>AC</Element-587>
<Element-1019 xsi:nil="true" />
<Element-1166 xsi:nil="true" />
<Element-1232 xsi:nil="true" />
<Element-786>03</Element-786>
</Segment-BEG>
- <Segment-CUR>
<Element-98>2L</Element-98>
<Element-100>USD</Element-100>
</Segment-CUR>
- <Segment-REF>
<Element-128>06</Element-128>
<Element-127 xsi:nil="true" />
<Element-352>ALICE.EMRSN.COM:oracle.apps.po.event.xmlpo:458153-325924</Element-352>
</Segment-REF>
- <Segment-FOB>
<Element-146>CC</Element-146>
<Element-309>ZZ</Element-309>
<Element-352>UCC FOB DEST COL</Element-352>
<Element-334 xsi:nil="true" />
<Element-335 xsi:nil="true" />
<Element-309_1>ZZ</Element-309_1>
<Element-352_1>FOB Shipping Point</Element-352_1>
</Segment-FOB>
- <Segment-ITD>
<Element-336 xsi:nil="true" />
<Element-333 xsi:nil="true" />
<Element-338 xsi:nil="true" />
<Element-370 xsi:nil="true" />
<Element-351 xsi:nil="true" />
<Element-446 xsi:nil="true" />
<Element-386 xsi:nil="true" />
<Element-362 xsi:nil="true" />
<Element-388 xsi:nil="true" />
<Element-389 xsi:nil="true" />
<Element-342 xsi:nil="true" />
<Element-352>NET75 EOM</Element-352>
</Segment-ITD>
- <Loop-N1>
- <Segment-N1>
<Element-98>VN</Element-98>
<Element-93>XPEDX</Element-93>
<Element-66>US</Element-66>
<Element-67>160000511</Element-67>
</Segment-N1>
- <Segment-N3>
<Element-166>2099 CORPORATE 44 DRIVE</Element-166>
</Segment-N3>
- <Segment-N4>
<Element-19>FENTON</Element-19>
<Element-156>MO</Element-156>
<Element-116>63026</Element-116>
<Element-26>US</Element-26>
</Segment-N4>
</Loop-N1>
- <Loop-N1>
- <Segment-N1>
<Element-98>BT</Element-98>
<Element-93>EMC OU CIM</Element-93>
</Segment-N1>
- <Segment-N3>
<Element-166>Emerson Motor Company,</Element-166>
<Element-166_1>a Division of Emerson Electric Co. PO BOX 4147</Element-166_1>
</Segment-N3>
- <Segment-N4>
<Element-19>Saint Louis</Element-19>
<Element-156>MO</Element-156>
<Element-116>63136</Element-116>
<Element-26>US</Element-26>
</Segment-N4>
</Loop-N1>
- <Loop-N1>
- <Segment-N1>
<Element-98>SO</Element-98>
<Element-93>EMC OU CIM</Element-93>
</Segment-N1>
- <Segment-N3>
<Element-166>8100 West Florissant Ave</Element-166>
<Element-166_1>PO Box 3946</Element-166_1>
</Segment-N3>
- <Segment-N4>
<Element-19>Saint Louis</Element-19>
<Element-156>MO</Element-156>
<Element-116>63136</Element-116>
<Element-26>US</Element-26>
</Segment-N4>
</Loop-N1>
- <Loop-N1>
- <Segment-N1>
<Element-98>CA</Element-98>
<Element-93>SEE EMERSON ROUTING</Element-93>
</Segment-N1>
</Loop-N1>
- <Loop-PO1>
- <Segment-PO1>
<Element-350>1</Element-350>
<Element-330>4800</Element-330>
<Element-355_1>EA</Element-355_1>
<Element-212>116</Element-212>
<Element-639 xsi:nil="true" />
<Element-235_1 xsi:nil="true" />
<Element-234_1 xsi:nil="true" />
<Element-235_2>SW</Element-235_2>
<Element-234_2>P062155530000</Element-234_2>
</Segment-PO1>
- <Loop-PID>
- <Segment-PID>
<Element-349>F</Element-349>
<Element-750 xsi:nil="true" />
<Element-559 xsi:nil="true" />
<Element-751 xsi:nil="true" />
<Element-352>PAD (BOX)</Element-352>
</Segment-PID>
</Loop-PID>
- <Loop-N1_2>
- <Segment-N1>
<Element-98>ST</Element-98>
<Element-93>CIM IO Plant CMD</Element-93>
<Element-66>FA</Element-66>
<Element-67>INTERNALC01</Element-67>
</Segment-N1>
- <Segment-N3>
<Element-166>Boul Carlos Salinas de Gortari</Element-166>
<Element-166_1>Kilometro 9.7</Element-166_1>
</Segment-N3>
- <Segment-N4>
<Element-19>Apodaca</Element-19>
<Element-156>NL</Element-156>
<Element-116>66600</Element-116>
<Element-26>MX</Element-26>
</Segment-N4>
- <Segment-SCH>
<Element-380_2>4800</Element-380_2>
<Element-355>EA</Element-355>
<Element-98_1 xsi:nil="true" />
<Element-93 xsi:nil="true" />
<Element-374_5>112</Element-374_5>
<Element-373>20090910</Element-373>
<Element-337 xsi:nil="true" />
<Element-374 xsi:nil="true" />
<Element-373_1 xsi:nil="true" />
<Element-337_1 xsi:nil="true" />
<Element-326 xsi:nil="true" />
<Element-350>1</Element-350>
</Segment-SCH>
</Loop-N1_2>
</Loop-PO1>
- <Loop-CTT>
- <Segment-CTT>
<Element-354>1</Element-354>
</Segment-CTT>
</Loop-CTT>
- <Segment-SE>
<Element-96>24</Element-96>
<Element-329>0001</Element-329>
</Segment-SE>
</Transaction-850>Hi Srinivas,
I am in dilemaaa whether i need to take a EDI x12 over internet and EDI x12 over genric exchange.I think this is something which you should discuss with your TP and as per the availability and requirement a decision should be made.
If you are using FTP protocol in internal delivery channel, then you need to follow the file naming convention to provide B2B required information to identify the TP and transaction. For this please refer -
http://www.b2bgurus.com/search/label/Generic%20File
To know more about TP identification in EDI, please refer -
http://www.b2bgurus.com/2007/08/trading-partner-identification-in-edi.html
Regards,
Anuj -
Can't get my plsql working, ORA-05602 error
Hello all, I am experiencing an issue with my plsql and I have check all my variables and it seems to be hidden from my eyes. This is my package:
create or replace package body PKG_TESTSTR is
type segment is record (
bbold boolean,
bundr boolean,
bital boolean,
bleft boolean,
brigh boolean,
bcent boolean,
bjust boolean,
btipo varchar2(1),
text VARCHAR2(32767));
type LSEGMENTS is TABLE OF segment index by pls_integer;
function splitSegments2(input VarChar2) return LSEGMENTS
Is
l_idx pls_integer;
bbold boolean := false;
bundr boolean := false;
bital boolean := false;
bleft boolean := false;
brigh boolean := false;
bcent boolean := false;
bjust boolean := false;
btipo varchar2(1);
info VarChar2(32767);
i pls_integer := 0;
segments LSEGMENTS;
Begin
info := input;
loop
l_idx := instr(info,'<');
i := i + 1;
segments(i).bbold := bbold;
segments(i).bundr := bundr;
segments(i).bital := bital;
segments(i).bleft := bleft;
segments(i).brigh := brigh;
segments(i).bcent := bcent;
segments(i).bjust := bjust;
segments(i).btipo := btipo;
if l_idx > 0 then
if upper(substr(info,l_idx+1,2)) = 'B>' then
if bbold then raise_application_error(-20010, 'B'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bbold := true;
info := substr(info,l_idx+3);
btipo := 'F';
elsif upper(substr(info,l_idx+1,2)) = 'I>' then
if bital then raise_application_error(-20010, 'I'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bital := true;
info := substr(info,l_idx+3);
btipo := 'F';
elsif upper(substr(info,l_idx+1,2)) = 'U>' then
if bundr then raise_application_error(-20010, 'U'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bundr := true;
info := substr(info,l_idx+3);
btipo := 'F';
elsif upper(substr(info,l_idx+1,15)) = 'P ALIGN="LEFT">' then
if bleft then raise_application_error(-20010, 'P LEFT'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bleft := true;
info := substr(info,l_idx+16);
btipo := 'A';
elsif upper(substr(info,l_idx+1,16)) = 'P ALIGN="RIGHT">' then
if brigh then raise_application_error(-20010, 'P RIGHT'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
brigh := true;
info := substr(info,l_idx+17);
btipo := 'A';
elsif upper(substr(info,l_idx+1,17)) = 'P ALIGN="CENTER">' then
if bcent then raise_application_error(-20010, 'P CENTER'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bcent := true;
info := substr(info,l_idx+18);
btipo := 'A';
elsif upper(substr(info,l_idx+1,18)) = 'P ALIGN="JUSTIFY">' then
if bjust then raise_application_error(-20010, 'P JUSTIFY'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bjust := true;
info := substr(info,l_idx+19);
btipo := 'A';
elsif upper(substr(info,l_idx+1,3)) = '/B>' then
if not bbold then raise_application_error(-20010, '/B'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bbold := false;
info := substr(info,l_idx+4);
elsif upper(substr(info,l_idx+1,3)) = '/I>' then
if not bital then raise_application_error(-20010, '/I'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bital := false;
info := substr(info,l_idx+4);
elsif upper(substr(info,l_idx+1,3)) = '/U>' then
if not bundr then raise_application_error(-20010, '/U'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bundr := false;
info := substr(info,l_idx+4);
elsif upper(substr(info,l_idx+1,3)) = '/P>' and bleft then
if not bleft then raise_application_error(-20010, '/P LEFT'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bleft := false;
info := substr(info,l_idx+4);
elsif upper(substr(info,l_idx+1,3)) = '/P>' and brigh then
if not brigh then raise_application_error(-20010, '/P RIGHT'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
brigh := false;
info := substr(info,l_idx+4);
elsif upper(substr(info,l_idx+1,3)) = '/P>' and bcent then
if not bcent then raise_application_error(-20010, '/P CENTER'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bcent := false;
info := substr(info,l_idx+4);
elsif upper(substr(info,l_idx+1,3)) = '/P>' and bjust then
if not bjust then raise_application_error(-20010, '/P JUSTIFY'); end if;
if l_idx = 1 then
i := i - 1;
else
segments(i).text := substr(info,1,l_idx-1);
end if;
bjust := false;
info := substr(info,l_idx+4);
else
segments(i).text := substr(info,1,l_idx);
info := substr(info,l_idx+1);
btipo := 'T';
end if;
else
segments(i).text := info;
exit;
end if;
end loop;
return segments;
End;
function generateReportsTags(input Varchar2) return Varchar2
Is
segments LSEGMENTS;
resp varchar2(32767);
--resp long;
bold boolean := false;
alin boolean := false;
tipo varchar2(1);
y number;
Begin
dbms_output.put_line('Iniciando execucao');
y := 0;
segments := splitSegments2(input);
dbms_output.put_line('Passou pelo split');
for i in segments.first .. segments.last loop
if i = 1 then
resp := '<report>' || chr(13) || chr(10);
resp := resp || '<layout>' || chr(13) || chr(10);
resp := resp || '<section name="main">' || chr(13) || chr(10);
resp := resp || '<body>' || chr(13) || chr(10);
resp := resp || '<frame name="M_1">' || chr(13) || chr(10);
resp := resp || '<geometryInfo x="0.00000" y="0.00000" width="7.12500" height="3.00000"/>' || chr(13) || chr(10);
resp := resp || '<generalLayout verticalElasticity="variable"/>' || chr(13) || chr(10);
resp := resp || '<text name="B_1" minWidowLines="1">' || chr(13) || chr(10);
resp := resp || '<textSettings spacing="single"/>' || chr(13) || chr(10);
end if;
if nvl(tipo,' ') <> ' ' and nvl(tipo,' ') <> nvl(segments(i).btipo,' ') then
resp := resp || '</text>' || chr(13) || chr(10);
resp := resp || '<text name="B_1" minWidowLines="1">' || chr(13) || chr(10);
end if;
if segments(i).btipo in ('A') then
if segments(i).brigh then
resp := resp || '<textSettings justify="end" spacing="single"/>' || chr(13) || chr(10);
elsif segments(i).bcent then
resp := resp || '<textSettings justify="center" spacing="single"/>' || chr(13) || chr(10);
elsif segments(i).bjust then
resp := resp || '<textSettings justify="flush" spacing="single"/>' || chr(13) || chr(10);
elsif segments(i).bleft then
resp := resp || '<textSettings justify="start" spacing="single"/>' || chr(13) || chr(10);
end if;
end if;
if i = 1 then
y := 0.00000;
resp := resp || '<geometryInfo x="0.06250" y="0.00000" width="7.00000" height="0.75000"/>' || chr(13) || chr(10);
resp := resp || '<generalLayout verticalElasticity="variable"/>' || chr(13) || chr(10);
elsif nvl(tipo,' ') <> ' ' and nvl(tipo,' ') <> nvl(segments(i).btipo,' ') then
y := y + 0.75000;
--width="7.06250"
resp := resp || '<geometryInfo x="0.06250" y="'|| to_char(y + 0.00000, '0.00000') ||'" width="7.00000" height="0.75000"/>' || chr(13) || chr(10);
resp := resp || '<generalLayout verticalElasticity="variable"/>' || chr(13) || chr(10);
end if;
resp := resp || '<textSegment>' || chr(13) || chr(10);
if segments(i).bbold then
resp := resp || ' bold="yes"';
end if;
if segments(i).bital then
resp := resp || ' italic="yes"';
end if;
if segments(i).bundr then
resp := resp || ' underline="yes"';
end if;
resp := resp || '/>' || chr(13) || chr(10);
resp := resp || '<string>' || chr(13) || chr(10);
resp := resp || '<![CDATA[';
resp := resp || segments(i).text;
resp := resp || ']]>' || chr(13) || chr(10);
resp := resp || '</string>' || chr(13) || chr(10);
resp := resp || '</textSegment>' || chr(13) || chr(10);
if (bold = true or alin = true) then
bold := false;
alin := false;
end if;
tipo := segments(i).btipo;
if i = segments.last then
resp := resp || '</text>' || chr(13) || chr(10);
resp := resp || '</frame>' || chr(13) || chr(10);
resp := resp || '</body>' || chr(13) || chr(10);
resp := resp || '</section>' || chr(13) || chr(10);
resp := resp || '</layout>' || chr(13) || chr(10);
resp := resp || '</report>' || chr(13) || chr(10);
end if;
end loop;
return resp;
End;
procedure splitSegments(input VarChar2)
Is
segments LSEGMENTS;
function Prin (bbold boolean, bundr boolean, bital boolean, bleft boolean, brigh boolean, bcent boolean, bjust boolean) return VarChar2
Is
resp VarChar2(3) := '';
begin
if bbold then resp := resp || 'B'; end if;
if bundr then resp := resp || 'U'; end if;
if bital then resp := resp || 'I'; end if;
if bleft then resp := resp || 'P'; end if;
if brigh then resp := resp || 'P'; end if;
if bcent then resp := resp || 'P'; end if;
if bjust then resp := resp || 'P'; end if;
return resp;
end;
Begin
segments := splitSegments2(input);
for i in segments.first .. segments.last loop
dbms_output.put_line(prin(segments(i).bbold, segments(i).bundr, segments(i).bital, segments(i).bleft, segments(i).brigh, segments(i).bcent, segments(i).bjust) || ' : ' || segments(i).text);
end loop;
End;
end PKG_TESTSTR;I am getting an ORA-05602 error, and then an ORA-05612 at line 3 when I try to use and input with more than 4000 chars. Is this the problem?? I have changed all my varchar2 variables to get 32767 chars but i am still facing the same error.
What I am possible doing wrong?
Many thanks for all replies
Thiago LocatelliThat would be a bit of a problem once I cant get the part where it is raising such error. I have put dbms_output for debug, but everything goes in the outpout window but the error occurs.
I am using plsql/developer to test the function... -
B2B-51507 Error : Incomplete Internal-Properties structure.
Hi,
I send 997 AS2 by manual. And get below error.
B2B-51507 Error : Incomplete Internal-Properties structure.
ERROR_LEVEL_COLLABORATION
ERROR Error Brief : XEngine error.
below is 997 xml .
<?xml version="1.0" encoding="UTF-8"?><Transaction-997 xmlns="urn:oracle:integration:b2b:178CDEA78FDA4DF38610F2D26CA63B49" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oracle:integration:b2b:178CDEA78FDA4DF38610F2D26CA63B49 guideline.xsd" XDataVersion="1.0" Standard="X12" Version="V5010" CreatedDate="2012-08-05T04:41:46" CreatedBy="XEngine_4016" GUID="{29D665AA-E4A3-41B5-A60A-8CE56C349249}"><Internal-Properties><Data-Structure Name="Interchange"><Lookup Name="InterchangeControlVersion">00501</Lookup><Lookup Name="InterchangeReceiverID">6111470100 </Lookup><Lookup Name="InterchangeReceiverQual">08</Lookup><Lookup Name="InterchangeSenderID">Sinotrans </Lookup><Lookup Name="InterchangeSenderQual">02</Lookup><Lookup Name="InterchangeUsageIndicator">I</Lookup><Lookup Name="Standard">X12</Lookup><Property Name="ElementDelimiter">0x2a</Property><Property Name="InterchangeAckRequested">0</Property><Property Name="InterchangeAuthorizationInfo">0000000000</Property><Property Name="InterchangeAuthorizationInfoQual">00</Property><Property Name="InterchangeChildCount">1</Property><Property Name="InterchangeComponentElementSep">0x5c</Property><Property Name="InterchangeControlNumber">000000001</Property><Property Name="InterchangeControlStandard_RepeatingSeparator">^</Property><Property Name="InterchangeControlVersion">00501</Property><Property Name="InterchangeDate">120804</Property><Property Name="InterchangeReceiverID">6111470100 </Property><Property Name="InterchangeReceiverQual">08</Property><Property Name="InterchangeSecurityInfo">0000000000</Property><Property Name="InterchangeSecurityInfoQual">00</Property><Property Name="InterchangeSenderID">Sinotrans </Property><Property Name="InterchangeSenderQual">02</Property><Property Name="InterchangeTime">2259</Property><Property Name="InterchangeTrailerControlNumber">000000001</Property><Property Name="InterchangeUsageIndicator">I</Property><Property Name="RepeatingSeparator">0x5e</Property><Property Name="SegmentDelimiter">0x0d0x0a</Property><Property Name="Standard">X12</Property><Property Name="SubelementDelimiter">0x5c</Property></Data-Structure></Internal-Properties><Segment-ISA><Element-I01>00</Element-I01><Element-I02>0000000000</Element-I02><Element-I03>00</Element-I03><Element-I04>0000000000</Element-I04><Element-I05>02</Element-I05><Element-I06>Sinotrans </Element-I06><Element-I05_1>08</Element-I05_1><Element-I07>6111470100 </Element-I07><Element-I08>120804</Element-I08><Element-I09>2259</Element-I09><Element-I65>^</Element-I65><Element-I11>00501</Element-I11><Element-I12>000000001</Element-I12><Element-I13>0</Element-I13><Element-I14>I</Element-I14><Element-I15>\</Element-I15></Segment-ISA><Segment-GS><Element-479>FA</Element-479><Element-142>Sinotrans</Element-142><Element-124>6111470100</Element-124><Element-373>20120805</Element-373><Element-337>0437</Element-337><Element-28>1</Element-28><Element-455>T</Element-455><Element-480>005010</Element-480></Segment-GS><Segment-ST><Element-143>997</Element-143><Element-329>0001</Element-329><Element-1705>001</Element-1705></Segment-ST><Segment-AK1><Element-479_1>AA</Element-479_1><Element-28_1>98463053</Element-28_1><Element-480_1>001000</Element-480_1></Segment-AK1><Loop-AK2><Segment-AK2><Element-143>100</Element-143><Element-329>Transacti</Element-329><Element-1705>001</Element-1705></Segment-AK2><Loop-AK3><Segment-AK3><Element-721>SEG</Element-721><Element-719>59981514</Element-719><Element-447>Loop</Element-447><Element-720>1</Element-720></Segment-AK3><Segment-AK4><Composite-C030><Element-722>16</Element-722><Element-1528>9</Element-1528><Element-1686>21</Element-1686></Composite-C030><Element-725>16</Element-725><Element-723>1</Element-723><Element-724>Copy of Bad Data Element</Element-724></Segment-AK4></Loop-AK3><Segment-AK5><Element-717>A</Element-717><Element-718>1</Element-718><Element-718_1>1</Element-718_1><Element-718_2>1</Element-718_2><Element-718_3>1</Element-718_3><Element-718_4>1</Element-718_4></Segment-AK5></Loop-AK2><Segment-AK9><Element-715>A</Element-715><Element-97>208</Element-97><Element-123>52742</Element-123><Element-2>6</Element-2><Element-716>1</Element-716><Element-716_1>1</Element-716_1><Element-716_2>1</Element-716_2><Element-716_3>1</Element-716_3><Element-716_4>1</Element-716_4></Segment-AK9><Segment-SE><Element-96>8</Element-96><Element-329>0001</Element-329></Segment-SE><Segment-GE><Element-97_1>1</Element-97_1><Element-28>1</Element-28></Segment-GE><Segment-IEA><Element-I16>1</Element-I16><Element-I12>000000001</Element-I12></Segment-IEA></Transaction-997>
Thank you very much!
wanggangPlease try without internal properties.
<?xml version="1.0" encoding="UTF-8"?><Transaction-997 xmlns="urn:oracle:integration:b2b:178CDEA78FDA4DF38610F2D26CA63B49" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oracle:integration:b2b:178CDEA78FDA4DF38610F2D26CA63B49 guideline.xsd" XDataVersion="1.0" Standard="X12" Version="V5010" CreatedDate="2012-08-05T04:41:46" CreatedBy="XEngine_4016" GUID="{29D665AA-E4A3-41B5-A60A-8CE56C349249}"><Segment-ISA><Element-I01>00</Element-I01><Element-I02>0000000000</Element-I02><Element-I03>00</Element-I03><Element-I04>0000000000</Element-I04><Element-I05>02</Element-I05><Element-I06>Sinotrans </Element-I06><Element-I05_1>08</Element-I05_1><Element-I07>6111470100 </Element-I07><Element-I08>120804</Element-I08><Element-I09>2259</Element-I09><Element-I65>^</Element-I65><Element-I11>00501</Element-I11><Element-I12>000000001</Element-I12><Element-I13>0</Element-I13><Element-I14>I</Element-I14><Element-I15>\</Element-I15></Segment-ISA><Segment-GS><Element-479>FA</Element-479><Element-142>Sinotrans</Element-142><Element-124>6111470100</Element-124><Element-373>20120805</Element-373><Element-337>0437</Element-337><Element-28>1</Element-28><Element-455>T</Element-455><Element-480>005010</Element-480></Segment-GS><Segment-ST><Element-143>997</Element-143><Element-329>0001</Element-329><Element-1705>001</Element-1705></Segment-ST><Segment-AK1><Element-479_1>AA</Element-479_1><Element-28_1>98463053</Element-28_1><Element-480_1>001000</Element-480_1></Segment-AK1><Loop-AK2><Segment-AK2><Element-143>100</Element-143><Element-329>Transacti</Element-329><Element-1705>001</Element-1705></Segment-AK2><Loop-AK3><Segment-AK3><Element-721>SEG</Element-721><Element-719>59981514</Element-719><Element-447>Loop</Element-447><Element-720>1</Element-720></Segment-AK3><Segment-AK4><Composite-C030><Element-722>16</Element-722><Element-1528>9</Element-1528><Element-1686>21</Element-1686></Composite-C030><Element-725>16</Element-725><Element-723>1</Element-723><Element-724>Copy of Bad Data Element</Element-724></Segment-AK4></Loop-AK3><Segment-AK5><Element-717>A</Element-717><Element-718>1</Element-718><Element-718_1>1</Element-718_1><Element-718_2>1</Element-718_2><Element-718_3>1</Element-718_3><Element-718_4>1</Element-718_4></Segment-AK5></Loop-AK2><Segment-AK9><Element-715>A</Element-715><Element-97>208</Element-97><Element-123>52742</Element-123><Element-2>6</Element-2><Element-716>1</Element-716><Element-716_1>1</Element-716_1><Element-716_2>1</Element-716_2><Element-716_3>1</Element-716_3><Element-716_4>1</Element-716_4></Segment-AK9><Segment-SE><Element-96>8</Element-96><Element-329>0001</Element-329></Segment-SE><Segment-GE><Element-97_1>1</Element-97_1><Element-28>1</Element-28></Segment-GE><Segment-IEA><Element-I16>1</Element-I16><Element-I12>000000001</Element-I12></Segment-IEA></Transaction-997>
Regards,
Anuj -
EDIFACT D98A Inbound Message Processing Error
Hi
I have been setting up an EDI B2B G/W using 11g B2B PS3 (Host & Partner). I have created the ECS, XSD and XML files using the B2B Document Editor and have completed the partner setup for D98A Purchase Order.
I had the issues when I posted the PO where the Host is unable to pick up the agreements and I was getting B2B-51507 Payload Validation Error and the message was failling at the B2B Host.
Later I changed the payload in-line with the below thread and removed the Internal Properties
https://forums.oracle.com/forums/thread.jspa?messageID=11039032#11039032
upon which the messages was sent to RemoteTP but failed with B2B-50037: B2B inbound message processing error
When I analyzed further I could see the InternalPropertes sent by the Host to the RemoteTP are with empty values.
I would like to understand the point of removing the InternalProperties and why B2B Host is not sending it in the right format to the other B2B.
I am pasting the file that is been received at the RemoteTP which failed with B2B-50037: B2B inbound message processing error
<?xml version="1.0" encoding="UTF-8"?><Transaction-CONTRL xmlns="urn:oracle:integration:b2b:9FF110DDDB0C424F8B4C5A0F73EF6547" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" XDataVersion="1.0" Standard="EDIFACT" Version="D3" CreatedDate="2013-05-31T13:41:20" CreatedBy="XEngine_2133" GUID="{65236268-C9EF-11E2-BC04-E4115BAD2692}"><Internal-Properties><Data-Structure Name="Interchange"><Lookup Name="InterchangeControlVersion">1</Lookup><Lookup Name="InterchangeReceiverID"> </Lookup><Lookup Name="InterchangeReceiverQual"></Lookup><Lookup Name="InterchangeSenderID"> </Lookup><Lookup Name="InterchangeSenderQual"></Lookup><Lookup Name="Standard">EDIFACT</Lookup><Property Name="InterchangeSyntaxVersion">1</Property><Property Name="ReleaseCharacter">0x3f</Property><Data-Structure Name="Group"><Lookup Name="GroupID">CONTRL</Lookup><Lookup Name="GroupReceiverID"> </Lookup><Lookup Name="GroupReceiverQual"></Lookup><Lookup Name="GroupReleaseNumber">3</Lookup><Lookup Name="GroupSenderID"> </Lookup><Lookup Name="GroupSenderQual"></Lookup><Lookup Name="GroupVersion">D</Lookup><Property Name="GroupID">CONTRL</Property><Data-Structure Name="Transaction"><Lookup Name="TransactionID">CONTRL</Lookup><Lookup Name="TransactionMessageReleaseNumber">3</Lookup><Lookup Name="TransactionMessageVersionNumber">D</Lookup></Data-Structure></Data-Structure></Data-Structure></Internal-Properties><Segment-UNH><Element-0062>#ControlNumber(Transaction)#</Element-0062><Composite-S009><Element-0065>CONTRL</Element-0065><Element-0052>D</Element-0052><Element-0054>3</Element-0054><Element-0051>UN</Element-0051></Composite-S009></Segment-UNH><Segment-UCI><Element-0020>1051</Element-0020><Composite-S002><Element-0004> </Element-0004></Composite-S002><Composite-S003><Element-0010> </Element-0010></Composite-S003><Element-0083>4</Element-0083></Segment-UCI><Loop-Group_3><Segment-UCF><Element-0048>1051</Element-0048><Composite-S006><Element-0040> </Element-0040></Composite-S006><Composite-S007><Element-0044> </Element-0044></Composite-S007><Element-0083>4</Element-0083></Segment-UCF><Loop-Group_4><Segment-UCM><Element-0062>1</Element-0062><Composite-S009><Element-0065>ORDERS</Element-0065><Element-0052>D</Element-0052><Element-0054>98A</Element-0054><Element-0051>AA</Element-0051></Composite-S009><Element-0083>4</Element-0083><Element-0085>18</Element-0085></Segment-UCM></Loop-Group_4></Loop-Group_3><Segment-UNT><Element-0074>5</Element-0074><Element-0062>#ControlNumber(Transaction)#</Element-0062></Segment-UNT></Transaction-CONTRL>
Has anyone encountered such issues? Is there any additional properties that are needed to be configured?
Regards
RDHi Anuj
this is the stack trace
<02-Jun-2013 12:50:47 o'clock BST> <Error> <oracle.soa.b2b.engine> <BEA-000000> <Error -: B2B-50037: B2B inbound message processing error
Error -: B2B-50037: B2B inbound message processing error
at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:3283)
at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1764)
at oracle.tip.b2b.engine.Engine.incomingContinueProcess(Engine.java:4179)
at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:3855)
at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:3328)
at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:610)
at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:192)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
the xml i posted is the one that is logged by the remote TP in the trace logs before the error occurrence,
Regards
RD
Maybe you are looking for
-
HELP! CS4 Disk Will Not Work!
Hello All, I need some serious help, Adobe support is closed today and I need CS4 to install. Here is my situation, I recently bought my imac along with cs4 and everything was working perfectly. On Saturday like an idiot, I tried to add PS to my do
-
I noticed that the noise floor of the audio output in my 15" MacBook Pro is quite noticable when using external speakers. Is it just the way the sounds cards in these machines are or is there a problem with my specific unit?
-
How to reach a web server with a GPRS connection?
Hello, We have developed a cRio Datalogger and we control it by a remote panel with the cRio connected in our LAN. Now we want to do the same connecting the cRio with a GPRS Modem-Router from Multitech (a Multimodem with DynDns capabilities). The pro
-
I'v downloaded a tv series,paid for it, its in my itunes but with exclamation marks next to it, every time it tries to download the series it says "part of the file seems to be corrupted" and tells me to redownload it.Tried that 8 times and it comes
-
Drill down options at webintelligence
hi i have state city and revenue first level of query i need satte and revenue but city details i need drill down? when i drill down my query i need city details also how can i follwo this in web intelligence?