Library View Topics Framed Contents Revised Topics Previous Topic Next Topic Search Search ResultsPrevious Topic MatchNext Topic Match Notes List Notes Print Download No PDF Handheld DisconnectedHandheld ConnectedHelp

6.2.39.8 Example of the UNSTRING statement



Figure 19 shows the execution results for an example of the UNSTRING statement.



UNSTRING ID_SEND DELIMITED BY DEL_ID OR ALL "*" INTO ID_R1 DELIMITER IN ID_D1 COUNT IN ID_C1 (All the data ID_R2 DELIMITER IN ID_D2 receiving fields ID_R3 DELIMITER IN ID_D3 COUNT IN ID_C3 are defined as ID_R4 COUNT IN ID_C4 alphanumeric) WITH POINTER ID_P TALLYING IN ID_T ON OVERFLOW GO TO OFLOW_EXIT. DEL_ID ID_SEND at execution at execution __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ | 1| 2| 3| *| *| 4| 5| 6| 7| 8| ?| ?| 9| 0| A| B| C| D| E| F| | ?| |__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__| |__| |____ ___|__ __|_______ ______| _|_ |_______ ______| 7 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | | |______ |_____ | |_______ |______________________  |  |_________ |  _________________ | _________________ | | ______________ __ __ __ __ __ __ | __ __ __ __ __ __ | | __ __ __ __ __ __ __ __ | 1| 2| 3| b| b| b|| | 4| 5| 6| 7| 8| b| | | | b| b| b| | 9| 0| A| B| C| |__|__|__|__|__|__|| |__|__|__|__|__|__| | | |__|__|__| |__|__|__|__|__| ID_R1 after | ID_R2 after | | ID_R3 after ID_R4 after execution | execution | | execution execution ____________| ______________| |___    ID_D1 ID_C1 ID_D2 ID_D3 ID_C3 ID_C4 __ __ __ __ __ __ | *| | 3| | ?| | ?| | 0| | 8| |__| |__| |__| |__| |__| |__| (after execution) (after execution) (after execution)

ID_P ID_T The order of execution is: (pointer) (tallying field) 1 3 characters are placed in ID_R1. __ __ __ __ | 2| 1| | 0| 5| 2 Because ALL * is specified, all consecutive asterisks |__|__| |__|__| are processed, but only one asterisk is placed in ID_D1. (after execution__ both initialized to 3 5 characters are placed in ID_R2. 01 before execution) 4 A ? is placed in ID_D2. The current receiving field is now ID_R3.

5 A ? is placed in ID_D3; ID_R3 is filled with spaces; no characters are transferred, so 0 is placed in ID_C3.

6 No delimiter is encountered before 5 characters fill ID_R4; 8 is placed in ID_C4, representing the number of characters examined since the last delimiter.

7 ID_P is updated to 21, the total length of the sending field + 1; ID_T is updated to 5, the number of fields acted upon + 1. Since there are no unexamined characters in the ID_SEND, the OVERFLOW EXIT is not taken.


Figure 19. Results of UNSTRING Statement Execution



Previous Topic Next Topic © Copyright IBM Corp. 1991, 1998

IBM Library Server Copyright 1989, 2005 IBM Corporation. All rights reserved.





Return to library:   z/OS | z/OS.e | TPF | z/VSE | z/VM | IBM Hardware | IBM System z Redbooks
Glossary:   IBM terminology
Publications:   How to order publications
Readers:   Download IBM Library Reader | Download IBM Softcopy Reader | Download Adobe® Acrobat® Reader®
Library management:   Download IBM Softcopy Librarian
Contacts:   Contact z/OS


Adobe, the Adobe logo, Acrobat, the Acrobat logo, and Acrobat Reader are registered trademarks of Adobe Systems incorporated.