Mark-
Here is some code that I use to do this. I wanted to pull out the text, and seperate it by line (using the carrige return char as a seperator). You can use any seperator you want.
0070 //
0071 //
0072 // Do Note Processing
0073 //
0074 VA evt_PMGSequenceNumber = "1"
0075 Media Objects(GT4201A, <Get Text>, VA evt_PMGLongField, BC Document (Order No, Invoice, etc.) (F47046), BC Order Type (F47046), BC Order Company (Order Number) (F47046))
0076 If VA evt_PMGLongField is equal to <Blank>
0077 Media Objects(GT4714, <Get Text>, VA evt_PMGLongField, F4714, BC Document (Order No, Invoice, etc.) (F47046), BC Order Type (F47046), BC Order Company (Order Number) (F47046))
0078 End If
0079 VA evt_ASCIValue = "10"
0080 COnvert the ASCI value to the Char representation
VA evt_CarrigeReturn <- cEverestEventPoint01
VA evt_ASCIValue -> mnDocumentOrderInvoiceE
0081 Finds a char position in a string
VA evt_PMGLongField -> szString
VA evt_CarrigeReturn -> cCharToFind
VA evt_StartPosition -> mnStartingPosition
VA evt_positionFound <- mnPositionFound
0082 While VA evt_positionFound is greater than <Zero>
0083 VA evt_characterstoread = [VA evt_positionFound]-[VA evt_StartPosition]
0084 VA evt_PMGNotes = substr([VA evt_PMGLongField],[VA evt_StartPosition],[VA evt_characterstoread])
0085 VA evt_PMGSequenceNumber = [VA evt_PMGSequenceNumber]+1
0086 F5704714.Insert
VA evt_InvoiceNumber -> TK JDE Invoice Number
VA evt_PMGNotes -> TK Note Field
0087 VA evt_StartPosition = [VA evt_positionFound]+1
0088 Finds a char position in a string
VA evt_PMGLongField -> szString
VA evt_CarrigeReturn -> cCharToFind
VA evt_StartPosition -> mnStartingPosition
VA evt_positionFound <- mnPositionFound
0089 End While
If you just want a specific length then you can set va evt_characterstoread to that value.
I hope this helps
aaron