Volver a

Asignación avanzada

Configurar condiciones - instrucciones IF

Las instrucciones de ejecución condicional pueden proporcionar un control adicional sobre la forma en la que se carga información en SAP. La ejecución condicional se desarrolla en un nivel de campo para establecer las condiciones de ejecución de las partes seleccionadas del script de TRANSACTION. Las instrucciones de ejecución condicional se pueden insertar en torno a una fila o a un bloque de filas. Puede añadir varios bloques de ejecución condicional siempre y cuando no interfieran con otros bloques de ejecución condicional.

Cada celda que pertenezca a la columna especificada se coteja con el valor constante especificado. Cuando se realiza la ejecución condicional, TRANSACTION solo ejecuta la fila en la que la condición indicada sea verdadera.

Por ejemplo, si la columna H se compara con la palabra «Abono», TRANSACTION realizará las acciones que estén en la condición IF solamente si la condición es verdadera. En ese caso, el valor de H se carga en la columna D/C de la transacción FB50.

NOTA: La comparación del valor constante especificado en la instrucción de ejecución condicional con el valor en una columna de Excel depende de las preferencias predeterminadas de Microsoft Excel sobre la lectura de datos. Consulte «Valores predeterminados de la aplicación» si desea obtener más información.

Suponga, por ejemplo, que la columna D de la hoja de cálculo de Excel contiene un valor decimal y que TRANSACTION solo precisa ejecutar aquellas filas que contengan el valor 3,141 (el valor de PI) en la columna D. En este caso, la columna D tiene un formato que muestra los números con un solo decimal, aunque internamente la columna D almacena hasta 3 decimales. Si las preferencias de lectura de datos están establecidas en As stored (Como está guardado), la condición necesaria será «D=3,141». Sin embargo, si esta opción se ha establecido en As displayed (Como se muestra), la condición necesaria será «D=3,1».

En el asignador, un comando de ejecución condicional es equivalente a utilizar un comando +IF de SHUTTLEScript.

Añadir instrucciones de ejecución condicional

Los valores de configuración del cuadro de diálogo If Conditional Properties (Propiedades del condicional IF) son:

Start Row/End Row (Fila inicial/Fila final): Escriba la fila inicial y la final que desea utilizar si es distinta de la fila o el intervalo de filas que seleccionó inicialmente en la pestaña Expert (Experto): Recording Preview (Vista previa de la grabación).

Else Row (Fila Else): Escriba la fila Else donde desee guardar el valor de la fila If-Else.

IF first transaction (IF primera transacción): Esta opción de configuración se usa para abordar las transacciones SAP en las que los cuadros de diálogo, por ejemplo, solo aparecen una vez en el registro de la primera transacción. Seleccione esta opción para ejecutar las filas indicadas en la condición IF de la primera transacción en el primer registro de la fuente de datos. Por ejemplo, cuando se cambia la vista de clasificación para un material, el cuadro de diálogo Class Type (Tipo de clase) solo aparece en el primer registro, no en los siguientes registros.

IF NOT first transaction (IF NOT primera transacción): Es similar a la opción de configuración IF first transaction (IF primera transacción). Esta condición se utiliza para abordar las transacciones SAP en las que los cuadros de diálogo, por ejemplo, aparecen tras la primera transacción. Seleccione esta opción para ejecutar las filas indicadas en la condición IF NOT de la primera transacción en todos los registros tras el primer registro de la fuente de datos.

IF on SAP field (IF en campo de SAP): Es similar a la condición IF. Esta condición solo se aplica a los campos de SAP que están activados. También se puede aplicar a los campos que no están habilitados, pero solo si su pantalla correspondiente está habilitada en el asignador. Sin embargo, IF on SAP field (IF en campo de SAP) no se puede aplicar a los campos de entrada de SAP. IF on SAP field (IF en campo de SAP) no está disponible para la grabación del modo por lotes.

IF on index field (IF en campo de índice): IF on index field (IF en campo de índice) solo está disponible para scripts grabados en el modo de interfaz gráfica de scripting (GUI Scripting). Utilice IF on index field (IF en campo de índice) con bucles para realizar búsquedas y actualizaciones basadas en varios valores de búsqueda. Con IF on index field (IF en campo de índice), puede buscar una fila según un valor en una determinada columna. Para realizar asignaciones, seleccione solo los campos que deben actualizarse. En el cuadro IF Condition Properties (Propiedades de la condición IF), seleccione IF on index field (IF en campo de índice). En Select Field (Seleccionar campo), elija el campo o la línea de SAP donde desee realizar la búsqueda, seleccione el operador y especifique el valor o la columna de Excel en la que se leerán los valores de la búsqueda. Para sustituir el valor en todos los casos coincidentes con este campo, haga clic en Find All (Buscar todos).

Nota: La condición IF en el campo de índice solo admite valores de texto.

IF on verify text (IF en texto de verificación): Disponible para los scripts importados del cargador de datos A1 y para los scripts de TRANSACTION grabados con la interfaz gráfica de scripting (GUI Scripting). Confirma que un valor en Excel corresponde a un valor en SAP. No cambia ni elimina datos.

IF: Haga clic en la opción IF para basar la condición en una columna de Excel, una tabla/columna de Access o, en la versión 10.6.1, en el campo XML que especifique para la condición. Cuando seleccione IF aparecerán en la parte inferior de la pantalla los campos Select Column (Seleccionar columna), Operator (Operador) y Value (Valor).

Los operadores permitidos son:

=, >, <, >=, <=, <>, {BLANK}, {NOT BLANK}, {STARTS WITH}, {CONTAINS}, {ENDS_WITH}, {BETWEEN}

Select Column (Seleccionar columna), Operator (Operador), Value (Valor): Cuando haya seleccionado la condición IF, seleccione la columna de Excel o la tabla/columna de Access que desee utilizar para la condición, seleccione el operador de la condición y escriba el valor (texto o número) para la comparación. Cuando seleccione una columna, el campo de pantalla y la condición aparecerán en un cuadro emergente de información sobre herramientas.

Compare with Column (Comparar con columna): Marque esta casilla para comparar la columna seleccionada (columna de Excel o tabla/columna de Access) con la columna que seleccione. Si marca la casilla Compare with Column (Comparar con columna), el campo Value (Valor) muestra una lista de selección de las columnas disponibles para esta comparación. Se permiten los siguientes operadores:

<> y =

Cuando rellene el cuadro de diálogo If Conditional Properties (Propiedades del condicional IF), el asignador mostrará los cambios que haya realizado mediante dos  iconos de ejecución condicional conectados por una línea.

Instrucciones IF en .txrs para servicios web (disponible en la versión 10.6, actualización 1)

Puede incluir instrucciones IF en servicios web. Por ejemplo, puede añadir una instrucción IF para que, cuando se introduzca un determinado valor en ese formulario, se ejecute un script.

Cuando añada la instrucción IF al script, creará el campo al que se aplicará la condición. Todos los operadores estarán disponibles y también podrá optar por comparar el valor introducido con el valor de otro campo. Si durante la ejecución no se cumple la condición IF, aparecerá un mensaje similar a «SAP no ha devuelto ningún mensaje» o «No se ha devuelto ningún lote».

Cuando la fuente de datos es XML, solo se puede usar la instrucción IF. Si la fuente de datos es un valor de SAP, utilice la instrucción IF on SAP field (IF en campo de SAP).

Añadir campos condicionales en bucles

En un bucle puede añadir el mismo campo personalizado de la condición IF, tanto en el encabezado como dentro del propio bucle. El campo se tratará como si fueran dos campos diferentes. El campo de condición IF que se añada en el encabezado será un campo de valor único, mientras que el que se defina en un bucle será un campo de valores que se repiten. Para poder utilizar el mismo valor de campo tanto en el encabezado como en el bucle, tendrá que vincular ambos valores en el diseñador de formularios.

Añadir una condición IF en un servicio web

  1. En Transaction, cree un script nuevo o abra uno ya existente.
  2. En el asignador, seleccione los campos a los que debe aplicarse la condición y haga clic en el botón Conditional Run (Ejecución condicional).
  3. En el cuadro IF Condition Properties (Propiedades de la condición IF), seleccione IF.
  4. En el cuadro Enter field name (Introduzca nombre de campo), escriba el nombre del campo. Debe tener en cuenta que no se pueden incluir ni caracteres especiales ni espacios en los nombres de campos personalizados. También será útil emplear nombres diferentes a los de cualquier campo de SAP. De forma alternativa, también puede añadir un campo que ya se haya utilizado en otra condición IF.

    El campo de condición no aparece en el asignador. Solo lo hace cuando el servicio web se publica como formulario.

  5. Seleccione un operador de la lista.
  6. Realice una de las siguientes acciones:
    • En el cuadro Value (Valor), escriba un valor para la condición.

      o

    • Para comparar el valor del campo con otro campo, haga clic en Compare to field (Comparar con campo) y, a continuación, introduzca el nombre del campo con el que vaya a comparar. Haga clic en Aceptar. No se puede comparar un campo personalizado con una columna en un servicio web.
  7. Realice cualquier otra modificación necesaria para la asignación y publique el script en el servicio web.

    El campo personalizado se añade al formulario publicado como otra columna en la tabla.

Instrucciones IF en .txrs extraídas de BAPI

Añadir notas

Puede añadir notas en la columna de notas del asignador a las filas de condición IF. Sin embargo, no se pueden ver las notas si el script se abre en una versión anterior del producto.

También en esta sección

Editar en el asignador

Filtrar el ajuste del asignador

Bucles avanzados

Validar información

Validar por lista

Deshacer y deshacer todo

Asignar texto largo

Adjuntar documentos

Asignación automática

Descargar desde SAP

Editar un script de TRANSACTION