Translate string from remote's character set
Note: Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for $Sock_Tran_In is the TranIn method.
$Sock_Tran_In translates a string, from the character set of the remote, to the local internal character set (EBCDIC). It is a bit different from other $Sock functions:
- The socket number is the second argument, not the first.
- Although it references a socket number, and it can cause a jump to the ONRESET label or request cancellation and can set the last error information, it does not return any error indication.
%string = $Sock_Tran_In(string, sockNum)
|%string||A string that is to contain the translation of the input string into the local character set.|
|string||The string to be translated.|
|sockNum||The socket number, which has associated with it the translation table used by $Sock_Tran_In.|
- $Sock_Tran_In continues with the next statement if ONRESET CONTINUE, CANCELC, or LABELC is in effect for the socket. It always returns the translated string; it never returns an error indicator.
- Typically the $Sock_Tran_In function is used to translate into EBCDIC strings that are received from non-mainframe sources that use other character mapping schemes, like ASCII or non-English character sets.
In the following example, parsed lines are received into the
then translated, and printed in EBCDIC.
The translate table used is the input table
defined by the XTAB parameter of the socket.
%old = $Sock_Set(%socket, 'BINARY') Repeat %len = $Sock_RecvPrs(%socket, %s) If %len Le 0 Then Loop End End If %xlate = $Sock_Tran_In(%s, %socket) Print %xlate End Repeat %old = $Sock_Set(%socket, 'BINARY', %old)