Skip Navigation Links | |
Exit Print View | |
Oracle Java CAPS Message Library for EDIFACT User's Guide Java CAPS Documentation |
Using the Message Library for EDIFACT
Overview of the EDIFACT Message Library
About the EDIFACT Message Library
Installing the Message Library for EDIFACT
Using UN/EDIFACT Message Libraries
Building UN/EDIFACT OTD Collaborations
To Build UN/EDIFACT OTD Collaborations
Customizing the UN/EDIFACT OTDs
Creating UN/EDIFACT OTDs from SEF Files
To Create UN/EDIFACT OTDs from SEF files
Possible Differences in Output When Using Pass-Through
EDFOTDErrors Schema File and Sample XML
This topic describes the Java methods available for UN/EDIFACT OTDs and contains the following topics:
Note - You can view complete method information for the EDIFACT OTDs by opening the Class Browser dialog box from the Java Collaboration Definition Editor toolbar.
The OTDs in the EDIFACT Message Library contain the Java methods that enable you to set and get the delimiters, which in turn extend the functionality of the EDIFACT Message Library.
The following get and set methods are available under the root node and at the xxx_Outer, xxx_Inner, and xxx levels:
getRelease and setRelease
The following methods are available from the loop elements:
getLoopxxx and setLoopxxx
Note - The get and set methods are automatically generated from the bean nodes. On occasion, this means get and set methods may be available that are not beneficial, such as setFGValidationResult.
The OTDs must include some way for delimiters to be defined so that they can be mapped successfully from one OTD to another. The UN/EDIFACT delimiters are as follows:
When unmarshaling inbound messages, the UN/EDIFACT OTDs use delimiters specified in the UNA segment when that segment is present. If the segment is absent, the OTD uses the default industrial standard delimiters. It is unnecessary to specify delimiters for incoming messages.
For outbound messages using UN/EDIFACT OTDs, you can specify delimiters in two ways:
You can set the delimiter and indicator characters from the corresponding elements within the UNB segment. For more information, refer to UNA Segment Support.
You can set the delimiters in the Java Collaboration Editor using the methods or bean nodes that are provided in the OTDs. Use the following methods to specify delimiters and indicators:
If the input data is already unmarshaled into an UN/EDIFACT OTD, you can use the get methods to retrieve the delimiters from the input data. If the Collaboration puts the data into UN/EDIFACT format, you can use the set methods to set the delimiters in the output OTD. See Get and Set Methods.
This section describes the signature and description for each available UN/EDIFACT OTD method.
public java.lang.String[] check()
Validates the content of the OTD data tree at runtime and returns a string array of validation errors for the message body only; validation errors for envelope segments are not included. To include envelope segments, see the checkAll() method below.
The method returns null if there are no validation errors.
None.
public java.lang.String[] checkAll()
Validates the content of the OTD data tree at runtime and returns a string array of validation errors for the message body and the envelope segments. The checkAll() method is only available for fully enveloped OTDs.
The method returns null if there are no validation errors.
None.
public java.lang.Object clone()
Creates and returns a copy of this OTD instance.
java.lang.CloneNotSupportedException
public int countxxx()
where xxx is the bean name for repeatable nodes.
Counts the repetitions of the node at runtime.
None.
public int countLoopxxx()
where xxx is the bean node for a repeatable segment loop.
Counts the repetitions of the loop at runtime.
None.
public item getxxx()
where xxx is the bean name for the node and where item is the Java type for the node.
public item[] getxxx()
where xxx is the bean name for the repeatable node and where item[] is the Java type for the node.
Returns the node object or the object array for the node.
None.
public java.lang.String[] getAllErrors()
Returns all the validation errors as a string array. These validation errors include errors encountered during unmarshaling input data and the validation results from both the message and the envelope segments.
None.
public char getDecimalMark()
Returns the decimal mark.
None.
public char getElementSeparator()
Gets the elementSeparator character.
None.
com.stc.edifact_v3_d95B.EDF_..._...Outer myOTD=new com.stc .edifact_v3_d95B.EDF_..._Outer(); ...... ...... char elmSep=myOTD.getElementSeparator();
public com.stc.otd.runtime.edi.FGError[] getFGValidationResult()
Returns the validation errors for the functional group envelope in the format of an FGError array. This method is available only at the Outer and Inner root levels of fully-enveloped OTDs.
None.
public com.stc.otd.runtime.edi.ICError[] getICValidationResult()
Returns the validation errors for the interchange envelope in the format of an ICError array. This method is available only at the Outer and Inner root levels of fully-enveloped OTDs.
None.
public byte[] getInputSource()
Returns the byte array of the original input data source.
None.
public item getLoopxxx()
where Loopxxx is the bean name for the segment loop and where item is the Java type for the segment loop.
public item[] getLoopxxx()
where Loopxxx is the bean name for the repeatable segment loop and where item[] is the Java type for the repeatable segment loop.
Returns the segment loop object or the object array for the segment loop.
None.
public int getMaxDataError()
Returns the maximum number of message validation errors held in the msgValidationResult bean node. If this method returns -1 there is no limit of how many errors can be reported.
None.
public int getMaxFreedSegsComsNum()
Returns the maximum number of segment and composite objects marked to be freed from memory.
None.
public int getMaxParsedSegsComsNum()
Returns the maximum number of segments and composite objects to be parsed.
None.
public com.stc.otd.runtime.check.sef.DataError[] getMsgValidationResult()
Returns the validation errors for the message body. Use this method after the performValidation() method. For information, refer to performValidation.
This method is available at the Outer, Inner, and message root levels of fully-enveloped OTDs. It is also available at the top root level of non-enveloped OTDs.
None.
public char getRelease()
Returns the release character.
None.
public char getRepetitionSeparator()
Returns the repetition separator character.
None.
com.stc.edifact_v3_d95B.EDF_..._...Outer myOTD=new com.stc. edifact_v3_d95B.EDF_..._Outer(); ...... ...... char repSep=myOTD.getRepetitionSeparator();
public int getSegmentCount()
Returns the segment count at the current level.
None.
public char getSegmentTerminator()
Returns the segment terminator character.
None.
com.stc.edifact_v3_d95B.EDF_..._...Outer myOTD=new com.stc.edifact_v3_d95B.EDF_..._Outer(); ...... ...... char segTerm=myOTD.getSegmentTerminator();
public char getSubelementSeparator()
Returns the subelement/composite element separator character.
None.
com.stc.edifact_v3_d95B.EDF_..._...Outer myOTD=new com.stc.edifact_v3_d95B.EDF_..._Outer(); ...... ...... char subeleSep=myOTD.getSubelementSeparator();
public com.stc.otd.runtime.edi.TSError[] getTSValidationResult()
Returns the validation errors for the message envelope (segments UNH/UIH and UNT/UIT) in the format of an TSError array. This method is available only in the Outer, Inner, and message root levels of fully enveloped OTDs. It is also available at the top root level of non-enveloped OTDs.
None.
public com.stc.otd.runtime.check.sef.DataError[] getUnmarshalErrors()
Returns the unmarshal errors as an array of the DataError objects. The unmarshal errors are reported from an UnmarshalException generated during unmarshaling. Usually these errors are associated with otd.isUnmarshalComplete=false.
None.
public boolean hasxxx()
where xxx is the bean name for the node.
Verifies if the node is present in the runtime data.
None.
public boolean hasLoopxxx()
where Loopxxx is the bean name for the segment loop.
Verifies if the segment loop is present in the runtime data.
None.
public boolean isUnmarshalComplete()
Flag for whether or not unmarshaling completed successfully. For more information, see On Demand Parsing and Errors and Exceptions.
None.
public void marshal(com.stc.otd.runtime.OtdOutputStream)
Marshals the internal data tree into an output stream. For more information, see On Demand Parsing .
java.io.IOException for output problems
com.stc.otd.runtime.MarshalException for an inconsistent internal tree
public byte[] marshalToBytes()
Marshals the internal data tree into a byte array.
java.io.IOException for output problems
com.stc.otd.runtime.MarshalException for an inconsistent internal tree
public java.lang.String marshalToString()
Marshals the internal data tree into a String.
java.io.IOException for input problems
com.stc.otd.runtime.MarshalException for an inconsistent internal tree
public void performValidation()
Performs validation on the OTD instance unmarshaled from input data. You can access the validation results from a list of nodes, such as allErrors, msgValidationResult, and the node for reporting envelope errors (such as ICValidationResult, FGValidationResult, and TSValidationResult).
For more information, see UN/EDIFACT Validation Support.
None.
public void reset()
Clears out any data and resources held by this OTD instance.
None.
public void setxxx(item)
where xxx is the bean name for the node and where item is the Java type for the node.
public void setxxx(item[])
where xxx is the bean name for the repeatable node and where item[] is the Java type for the node.
Sets the node object or the object array for the node.
None.
public void setDecimalMark(char)
Sets the decimal mark.
None.
public void setDefaultEDFDelimiters()
Sets the current delimiters to the default UN/EDIFACT delimiters:
segment terminator = ’
element separator = +
subelement separator = :
repetition separator = *
For more information, refer to Setting Delimiters and Indicators.
None
com.stc.edifact_v3_d95B.EDF_..._...Outer myOTD=new com.stc.edifact_v3_d95B.EDF_..._Outer(); ...... ...... myOTD.setDefaultEDFDelimiters();
public void setElementSeparator(char)
Sets the element separator character. For more information, refer to Setting Delimiters and Indicators.
None
com.stc.edifact_v3_d95B.EDF_..._...Outer myOTD=new com.stc. edifact_v3_d95B.EDF_..._Outer(); ...... ...... char c=’+’; myOTD.setElementSeparator(c);
public void setLoopxxx(item)
where Loopxxx is the bean name for the segment loop and where item is the Java type for the segment loop.
public void setLoopxxx(item[])
where Loopxxx is the bean name for the repeatable segment loop and where item[] is the Java type for the repeatable segment loop.
Sets the segment loop object or the object array for the segment loop.
None.
public void setMaxDataError(int)
Returns the maximum number of message validation errors held in the msgValidationResult bean node. If this method returns -1 there is no limit of how many errors can be reported.
None.
public void setMaxFreedSegsComsNum(int)
Sets the maximum number of segment and composite objects marked to be freed from memory. For more information, see On Demand Parsing.
None.
public void setMaxParsedSegsComsNum(int)
Sets the maximum number of segments and composite objects to be parsed. For more information, refer to On Demand Parsing.
None.
public void setRelease(char)
Sets the release character.
None.
public void setRepetitionSeparator(char)
Sets the repetition separator character. For more information, refer to Setting Delimiters and Indicators.
None.
com.stc.edifact_v3_d95B.EDF_..._...Outer myOTD=new com.stc.edifact_v3_d95B.EDF_..._Outer(); ...... ...... char c=’*’; myOTD.setRepetitionSeparator(c);
public void setSegmentTerminator(char)
Sets the segment terminator character. For more information, see Setting Delimiters and Indicators.
None.
com.stc.edifact_v3_d95B.EDF_..._...Outer myOTD=new com.stc. edifact_v3_d95B.EDF_..._Outer(); ...... ...... char c=’~’; myOTD.setSegmentTerminator(c);
public void setSubelementSeparator(char)
Sets the subelement separator character. For more information, see Setting Delimiters and Indicators.
None.
com.stc.edifact_v3_d95B.EDF_..._...Outer myOTD=new com.stc. edifact_v3_d95B.EDF_..._Outer(); ...... ...... char c=’:’; myOTD.setSubelementSeparator(c);
public void unmarshal(com.stc.otd.runtime.OtdInputStream)
Unmarshals the given input into an internal data tree. For more information, see On Demand Parsing and Errors and Exceptions.
java.io.IOException for output problems
com.stc.otd.runtime.UnmarshalException for a lexical or other mismatch
public void unmarshalFromBytes(byte[])
Unmarshals the given input byte array into an internal data tree.
java.io.IOException for input problems
com.stc.otd.runtime.UnmarshalException for an inconsistent internal tree
public void unmarshalFromString(java.lang.String)
Unmarshals (deserializes, parses) the given input string into an internal data tree.
java.io.IOException for input problems
com.stc.otd.runtime.UnmarshalException for an inconsistent internal tree. This typically occurs when the OTD does not recognize the incoming message as X12.