Rational Developer para System z, Versión 7.6

Soporte de tiempo de ejecución bidireccional

Las transformaciones bidireccionales del código de tiempo de ejecución se realizan en el entorno de ejecución de flujo de servicios CICS. Se utiliza el módulo FEJBDTRN, que se suministra con el código host de Rational Developer paraSystem z. Este módulo puede copiarse en cualquier biblioteca que esté asignada como PDSE; aparece en la lista DFHRPL del trabajo de inicio de CICS. El módulo FEJBDTRN se invoca cuando se necesitan conversiones bidireccionales en el código generado, por ejemplo, cuando la correlación se genera entre los campos de los mensajes que tienen diferentes atributos bidireccionales.

Para flujos de hebreo, también puede utilizar la versión FEJBDTRE autónoma de la rutina de conversión bidireccional. FEJBDTRE puede copiarse en cualquier biblioteca de la lista DFHRPL (PDS o PDSE). Desde el punto de vista funcional, no hay ninguna diferencia entre FEJBDTRN y FEJBDTRE. Para poder generar el flujo del Entorno de ejecución de flujo de servicios CICS con llamadas a FEJBDRE, debe cambiar el módulo bidireccional predeterminado que se especifica en la ventana Preferencias.

Existen dos diferencias principales en el soporte bidireccional del entorno HATS y el Entorno de ejecución de flujo de servicios CICS:
  • Las pulsaciones bidireccionales están soportadas en los HATS, pero no en los flujos de terminal del Entorno de ejecución de flujo de servicios CICS. Para generar el mismo flujo para los entornos CICS y HATS, las pulsaciones bidireccionales se eliminan del flujo de terminal creado. A continuación, las pulsaciones se vuelven a introducir cuando se genera el entorno de tiempo de ejecución HATS.
  • Para los Entornos de ejecución de flujo de servicios CICS, las conversiones bidireccionales para los mensajes de interfaz se realizan dentro del flujo generado. En el entorno de tiempo de ejecución HATS, estas conversiones se realizan externamente durante la creación del servicio Web HATS, como parte del soporte bidireccional en HATS.
Para obtener información adicional sobre HATS y CICS, consulte los temas siguientes:

Módulo FEJBDTRN

La llamada a FEJBDTRN se genera después de que se genere MOVE, de acuerdo con la siguiente correlación:
MACGEN IF IDD OF I-F01 NOT EQUAL SPACES AND
                  LOW-VALUES THEN
MACGEN MOVE IDD OF I-F01 TO IDD OF V-F01
A continuación, se ofrece un ejemplo de la llamada:
CALL WS-BIDITRN-CALL USING BY REFERENCE
            IDD OF V-F01 BY VALUE LENGTH OF IDD OF V-F01
            BY CONTENT INATTR OF BIDIMSG BY VALUE LENGTH OF INATTR OF BIDIMSG
            BY CONTENT 'VISUALLTR' BY VALUE 9
            BY CONTENT '424' BY VALUE 3
            BY REFERENCE BIDI-RESPONSE-CODE
            BY REFERENCE BIDI-REASON-CODE 

Atributos

Los atributos bidireccionales pueden aparecer explícitamente. Si los atributos se suministran como parte de un mensaje de recepción, los atributos aparecen en la estructura BIDIMSG que aparece en el libro de copia BIDIMSG. Estos atributos se derivan de los atributos bidireccionales de los archivos SFMXSD correspondientes.

Los siguientes valores son válidos para los atributos bidireccionales:
  • VISUAL
  • LÓGICO
  • LTR
  • RTL
  • SYMSWAP
  • NUMSWAP

Cada atributo va seguido de un parámetro que especifica su longitud.

Códigos y errores

Después de la llamada a FEJBDTRN, se generan varias sentencias MOVE para el proceso de errores, como se muestra en el ejemplo siguiente:
IF BIDI-RESPONSE-CODE NOT EQUAL
            BIDI-NORMAL-RESPONSE
      MOVE +9 TO ERROR-IND
      MOVE BIDI-RESPONSE-CODE TO EDC-BIDITRN-RESP
      MOVE BIDI-REASON-CODE TO EDC-BIDITRN-REAS
      MOVE IDD OF V-F01 TO EDC-BIDITRN-DATA
      MOVE LENGTH OF IDD OF V-F01 TO EDC-BIDITRN-DATALEN
      MOVE INATTR OF BIDIMSG TO EDC-BIDITRN-INATTR
      MOVE LENGTH OF INATTR OF BIDIMSG TO EDC-BIDITRN-INATTRLEN
      MOVE 'VISUALLTR' TO EDC-BIDITRN-OUTATTR
      MOVE 9 TO EDC-BIDITRN-OUTATTRLEN
      MOVE '424' TO EDC-BIDITRN-CODEPAGE
      MOVE 3 TO EDC-BIDITRN-CODEPAGELEN
      MOVE BIDITRN-ERRMSG TO WS-ERR-MESSAGE
      MOVE BIDI-ERROR-CODE TO WS-ERR-CODE

      PERFORM POST-NAVIGATOR-ERROR-RTN
            THRU POST-NAVIGATOR-ERROR-EXIT
      PERFORM 9010-NAVIGATOR-RETURN
END-IF.

La tabla siguiente describe los códigos de respuesta y razón BIDITRN. Para cada punto de anomalía posible dentro de BIDITRN, debe haber un código de respuesta; este código debe propagarse a través de la pila hasta el programa llamante. Básicamente, el código de respuesta indica la ubicación de la anomalía dentro de BIDITRN. El código de razón proporciona detalles de por qué ha fallado BIDITRN, en la ubicación especificada por BIDITRN.

Tabla 1. Códigos de respuesta y de razón de BIDITRN
Código de respuesta Significado Código(s) de razón
0 Éxito 0
1 BIDITRN inbuffer malloc ha fallado valores de número de error para la llamada a malloc
2 BIDITRN codePag malloc ha fallado valores de número de error para la llamada a malloc
3 BIDITRN input_attr malloc ha fallado valores de número de error para la llamada a malloc
4 BIDITRN output_attr malloc ha fallado valores de número de error para la llamada a malloc
5 Serie de atributos bidireccionales no válida
  1. Referencia duplicada del atributo
  2. No se ha proporcionado ningún tipo de prueba
  3. No se ha proporcionado ninguna orientación
  4. Otros
6 El formato de la serie de atributos bidireccionales bidi_attr malloc ha fallado valores de número de error para la llamada a malloc
7 El formato de la serie de atributos bidireccionales uppercase_attr malloc ha fallado valores de número de error para la llamada a malloc
8 BIDITransform outbuffer malloc ha fallado valores de número de error para la llamada a malloc
9 BIDITransform layout malloc ha fallado valores de número de error para la llamada a malloc
10 BIDITransform inShape malloc ha fallado valores de número de error para la llamada a malloc
11 BIDITransform outShape malloc ha fallado valores de número de error para la llamada a malloc
12 BIDITransform set_desc malloc ha fallado valores de número de error para la llamada a malloc
13 BIDITransform m_create_layout ha fallado valores de número de error para la llamada a malloc
Si hay un error en la rutina BIDITRN, un mensaje de error del Entorno de ejecución de flujo de servicios CICS notifica al usuario del entorno de ejecución. Vea el ejemplo siguiente:
 CIA08008E(DFHMA08008E): La transformación BIDI ha fallado. Código de repuesta X, Código de razón.

Consideraciones acerca de los servicios Web HATS

Después de exportar una macro HATS, puede especificar atributos bidireccionales para el objeto de integración de HATS creado a partir de la macro HATS. A continuación, puede utilizar estos atributos para especificar los atributos bidireccionales predeterminados para los servicios Web HATS. También puede modificar estos atributos para especificar el formato de los datos bidireccionales que se envían a los servicios Web HAT o se reciben de ellos.
Los siguientes atributos bidireccionales están soportados:
Tipo de texto
Especifica el formato en el que se envían o se reciben los datos de los servicios Web HATS. Puede seleccionar Visual o Lógico.
Orientación de texto
Especifica la orientación de los datos que se envían o se reciben de los servicios Web HATS. Puede seleccionar LTR (izquierda a derecha) o RTL (derecha a izquierda).

Consideraciones acerca del tiempo de ejecución de flujo de servicios CICS

Para generar código que pueda funcionar en un entorno de tiempo de ejecución CICS, debe configurar el archivo de propiedades generado. Utilice el editor de propiedades de generación para cambiar la página de códigos de host a un valor bidireccional como, por ejemplo, 420 ó 424.

Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)