copyBytes()

La función de sistema VGLib.copyBytes copia un campo en otro.

Como vale para StrLib.copyStr, el origen y el destino pueden ser de tipo carácter. En la función actual, el origen también puede ser cualquiera de los tipos siguientes:
  StrLib.copyBytes(
    destino un tipo de caracteres inOut,
    índiceSubDestino INT in,
    longitudSubDestino INT in,
    origen BIN, DECIMAL, NUM, NUMC, PACF o un tipo de carácter in,
    índiceSubOrigen INT in,
    longitudSubOrigen INT in)
destino
Campo o literal del que se deriva una subserie destino.
índiceSubDestino
Identifica el byte inicial de destino, suponiendo que el primer byte de destino tiene el valor 1. Este índice puede ser un literal entero. Como alternativa, este índice puede ser un elemento definido como de tipo INT o el siguiente equivalente: tipo BIN con longitud 9 y sin posiciones decimales.
longitudSubDestino
Identifica el número de bytes del valor que se deriva de destino. La longitud puede ser un literal entero. Como alternativa, la longitud puede ser un campo definido como de tipo INT o el siguiente equivalente: tipo BIN con longitud 9 y sin posiciones decimales.
origen
Campo o literal del que se deriva un valor origen.
índiceSubOrigen
Identifica el byte inicial del valor de origen, suponiendo que el primer byte de origen tiene el valor 1. Este índice puede ser un literal entero. Como alternativa, este índice puede ser un campo definido como de tipo INT o el siguiente equivalente: tipo BIN con longitud 9 y sin posiciones decimales.
longitudSubOrigen
Identifica el número de bytes del valor que se deriva de origen. La longitud puede ser un literal entero. Como alternativa, la longitud puede ser un elemento definido como de tipo INT o el siguiente equivalente: tipo BIN con longitud 9 y sin posiciones decimales.

Si el origen es más largo que el destino, el origen se trunca. Si el origen es menor que el destino, el valor origen se rellena con espacios en blanco, incluso aunque el valor sea numérico.

Consideraciones de definición

En sysVar.errorCode se devuelven los siguientes valores:
8
El índice es menor que 1 o mayor que la longitud del valor.
12
La longitud es menor que 1.
20
Índice de doble byte no válido. El índice de una serie DBCHAR o UNICODE señala a la mitad del carácter de doble byte.
24
Longitud de doble byte no válida. La longitud en bytes de una serie DBCS o UNICODE es impar (las longitudes de doble byte deben ser siempre pares).

Ejemplo

  target = "120056";
  source = "34";
  StrLib.copyBytes(target,3,2,source,1,2);
  // destino = "123456"

Consulta relacionada
copyStr()
Biblioteca VGLib de EGL

Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.