🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP La pantalla de selección

ABAP La pantalla de selección

ABAP La pantalla de selección

Como veo que existen una amplia cantidad de apuntes esquemáticos de la teoría de las lecciones, y algunos muy buenos, a mí me gustaría colaborar con lo que mejor se me da: El código fuente de Programas testados, que amplíen siempre aquellos puntos mostrados en el tema.

En esta ocasión voy a presentar una pantalla de selección con bloque anidados. Espero que os sea útil.

CODIGO FUENTE PARA UNA PANTALLA DE SELECCION
Version 1
  1. *&---------------------------------------------------------------------*
  2. *& Report Z*****_PANT_SELECCION_V1
  3. *&---------------------------------------------------------------------*
  4. *& Sustituir los ***** por el legajo de cada uno
  5. *&---------------------------------------------------------------------*


  6. REPORT z*****_pant_seleccion_v1.

  7. ****************************************************
  8. * <----- Copiar desde aqui
  9. ****************************************************

  10. CONSTANTS:
  11. ct_cab_esp(40) TYPE c VALUE 'Estado de cuentas entre',
  12. ct_cab_eng(40) TYPE c VALUE 'Account balance between',
  13. ct_y_esp(5) TYPE c VALUE 'y',
  14. ct_y_eng(5) TYPE c VALUE 'and',
  15. ct_debe_esp(10) TYPE c VALUE 'debe a',
  16. ct_debe_eng(10) TYPE c VALUE 'owes to',
  17. ct_cant_esp(40) TYPE c VALUE 'la cantidad de',
  18. ct_cant_eng(40) TYPE c VALUE 'the amount of',
  19. ct_dolar TYPE c VALUE '$',
  20. ct_euro TYPE c VALUE '€',
  21. ct_rate_esp(40) TYPE c VALUE 'con la cotización',
  22. ct_rate_eng(40) TYPE c VALUE 'with exchange rate',
  23. ct_date_esp(40) TYPE c VALUE 'a fecha',
  24. ct_date_eng(40) TYPE c VALUE 'on date'.


  25. DATA:
  26. lc_cambioeu_us TYPE p DECIMALS 5,
  27. lc_dolar_value TYPE p DECIMALS 2,
  28. lc_euro_value TYPE p DECIMALS 2,
  29. lc_formatofecha(10) TYPE c,
  30. lt_cambioeu_us(11) TYPE c,
  31. lt_dolar_value(11) TYPE c,
  32. lt_euro_value(11) TYPE c,
  33. lt_eur_usd_sort(22) TYPE c,
  34. lt_cab(120) TYPE c.


  35. *******************************************************
  36. INITIALIZATION.
  37. *******************************************************


  38. CLEAR:
  39. lc_cambioeu_us,
  40. lc_dolar_value,
  41. lc_euro_value ,
  42. lc_formatofecha,
  43. lt_cambioeu_us,
  44. lt_dolar_value,
  45. lt_euro_value,
  46. lt_eur_usd_sort,
  47. lt_cab.




  48. *******************************************************
  49. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
  50. *******************************************************
  51. * Utilizamos begin of line - comment - end of line como espaciador
  52. SELECTION-SCREEN BEGIN OF LINE.
  53. SELECTION-SCREEN COMMENT 1(66) text-006.
  54. SELECTION-SCREEN END OF LINE.


  55. * Subbloque de fecha y cotizacion
  56. SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.


  57. PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum,
  58. p_rate TYPE p DECIMALS 5 DEFAULT lc_cambioeu_us OBLIGATORY .


  59. SELECTION-SCREEN END OF BLOCK b2.


  60. * Subbloque de Deudor y Acreedor
  61. SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.


  62. PARAMETERS: p_deud(30) TYPE c OBLIGATORY,
  63. p_acree(30) TYPE c OBLIGATORY.


  64. SELECTION-SCREEN END OF BLOCK b3.


  65. * Subbloque de Monedas e Importes
  66. SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-004.


  67. PARAMETERS: p_eu RADIOBUTTON GROUP grp2,
  68. p_us RADIOBUTTON GROUP grp2.


  69. PARAMETERS: p_euros TYPE p DECIMALS 2 ,
  70. p_dolar TYPE p DECIMALS 2.


  71. SELECTION-SCREEN END OF BLOCK b4.


  72. * Subbloque de Lenguajes
  73. SELECTION-SCREEN BEGIN OF BLOCK b5 WITH FRAME TITLE text-005.


  74. PARAMETERS: p_esp AS CHECKBOX DEFAULT 'x',
  75. p_ing AS CHECKBOX.


  76. SELECTION-SCREEN END OF BLOCK b5.


  77. *******************************************************
  78. SELECTION-SCREEN END OF BLOCK b1.
  79. *******************************************************


  80. *******************************************************
  81. START-OF-SELECTION.
  82. *******************************************************


  83. * Subrutina que formatea la fecha
  84. PERFORM formatear_fecha USING p_fecha '/' 1
  85. CHANGING lc_formatofecha.


  86. IF NOT p_eu IS INITIAL.
  87. * Si la moneda usada es el euro
  88. * convertir Euros -> Dolares
  89. lc_euro_value = p_euros.
  90. lc_dolar_value = lc_euro_value * p_rate.
  91. WRITE lc_euro_value TO lt_euro_value. " Pasa Numero a Caracter
  92. WRITE lc_dolar_value TO lt_dolar_value. " Pasa Numero a Caracter
  93. ELSE.
  94. * Si no, la moneda usada es el Dolar
  95. * convertir Dolares -> Euros
  96. lc_dolar_value = p_dolar.
  97. lc_euro_value = lc_dolar_value / p_rate.
  98. WRITE lc_euro_value TO lt_euro_value. " Pasa Numero a Caracter
  99. WRITE lc_dolar_value TO lt_dolar_value. " Pasa Numero a Caracter
  100. ENDIF.


  101. CONDENSE lt_dolar_value. " Quita los espacios sobrantes
  102. CONDENSE lt_euro_value. " Quita los espacios sobrantes


  103. CLEAR lt_eur_usd_sort.
  104. IF NOT p_eu IS INITIAL.
  105. * Si la moneda usada es Euro
  106. * poner primero valor € y luego valor $
  107. CONCATENATE lt_euro_value ct_euro
  108. '/' lt_dolar_value ct_dolar INTO lt_eur_usd_sort
  109. SEPARATED BY ' '.
  110. ELSE.
  111. * Si no, la moneda usada es Dolar
  112. * poner primero valor $ y luego valor €
  113. CONCATENATE lt_dolar_value ct_dolar
  114. '/' lt_euro_value ct_euro INTO lt_eur_usd_sort
  115. SEPARATED BY ' '.
  116. ENDIF.


  117. IF NOT p_esp IS INITIAL.
  118. * Si esta marcado el idioma Español
  119. * Componer cabecera en Español
  120. CLEAR lt_cab.
  121. CONCATENATE ct_cab_esp p_deud ct_y_esp p_acree
  122. ct_date_esp lc_formatofecha INTO lt_cab
  123. SEPARATED BY ' '.
  124. WRITE:/ lt_cab.
  125. ENDIF.
  126. * Si esta en dos idiomas separar la cabecera con una linea
  127. IF NOT p_ing IS INITIAL AND NOT p_esp IS INITIAL.
  128. ULINE.
  129. ENDIF.


  130. IF NOT p_ing IS INITIAL.
  131. * Si esta marcado el idioma Inglés
  132. * Componer Cabecera en Inglés
  133. CLEAR lt_cab.
  134. CONCATENATE ct_cab_eng p_deud ct_y_eng p_acree
  135. ct_date_eng lc_formatofecha INTO lt_cab
  136. SEPARATED BY ' '.
  137. WRITE:/ lt_cab.


  138. ENDIF.
  139. * Separador con linea en medio
  140. SKIP.
  141. ULINE.
  142. SKIP.


  143. IF NOT p_esp IS INITIAL.
  144. * Si esta marcado el idioma Español
  145. * Componer texto en IEspañol
  146. CLEAR lt_cab.
  147. CONCATENATE p_deud ct_debe_esp p_acree
  148. ct_cant_esp lt_eur_usd_sort INTO lt_cab
  149. SEPARATED BY ' '.
  150. WRITE:/ lt_cab.
  151. ENDIF.


  152. IF NOT p_ing IS INITIAL.
  153. * Si esta marcado el idioma Inglés
  154. * Componer texto en Inglés
  155. CLEAR lt_cab.
  156. CONCATENATE p_deud ct_debe_eng p_acree
  157. ct_cant_eng lt_eur_usd_sort INTO lt_cab
  158. SEPARATED BY ' '.
  159. WRITE:/ lt_cab.
  160. ENDIF.


  161. *&---------------------------------------------------------------------*
  162. *& Form FORMATEAR_FECHA
  163. *&---------------------------------------------------------------------*
  164. * text
  165. *----------------------------------------------------------------------*
  166. * -->D_TEXT text fecha nativa (AAAAMMDD)
  167. * -->C_SEP text Separados a usar (.|/|-)
  168. * -->I_MODO int 0=AAAAMMDD 1=DDMMAAAA 2=MMDDAAAA
  169. * <--R_FORMATOFECHA text Fecha formateada con el separador C_SEP
  170. *----------------------------------------------------------------------*
  171. FORM formatear_fecha USING value(d_texto)
  172. value(c_sep)
  173. value(i_modo)
  174. CHANGING r_formatofecha.


  175. DATA: lc_year(4) TYPE c,
  176. lc_month(2) TYPE c,
  177. lc_day(2) TYPE c,
  178. lc_return(10) TYPE c.


  179. * Separamos Año, Mes y Dia
  180. WRITE d_texto(4) TO lc_year.
  181. WRITE d_texto+4(2) TO lc_month.
  182. WRITE d_texto+6(2) TO lc_day.


  183. CASE i_modo.


  184. WHEN 1. "DD MM AAAA con el separador
  185. CONCATENATE lc_day lc_month lc_year
  186. INTO lc_return
  187. SEPARATED BY c_sep.


  188. WHEN 2. "MM DD AAAA con el separador
  189. CONCATENATE lc_month lc_day lc_year
  190. INTO lc_return
  191. SEPARATED BY c_sep.


  192. WHEN OTHERS. "AAAA MM DD con el separador
  193. CONCATENATE lc_year lc_month lc_day
  194. INTO lc_return
  195. SEPARATED BY c_sep.


  196. ENDCASE.
  197. r_formatofecha = lc_return. "Colocamos el resultado en CHANGING


  198. ENDFORM. " FORMATEAR_FECHA

  199. ****************************************************
  200. * <----- Copiar hasta aqui
  201. ****************************************************

 

 

 


Sobre el autor

Publicación académica de Carlos Piles Rosell, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Carlos Piles Rosell

Profesión: Analista de Sistemas y Programador - España - Legajo: GZ57B

✒️Autor de: 24 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: PartTime

Certificación Académica de Carlos Piles

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La pantalla de selección" de la mano de nuestros alumnos.

SAP Master

Una pantalla de selección es aquella que se define al inicio de un programa, la primera que el usuario ve cuando ejecute el programa, sirve para introducir los datos iniciales los cuales seran los criterios para los calculos de busqueda, para poder realizar una pantalla de seleccion podemos utilizar dos eventos ABAP: SELECTION-SCREEN el cual define la pantalla de selección que queremos crear, las sentencias mas importantes dentro de este evento son parameters, select-option, selection-screen begin of block. AT SELECTION-SCREEN el cual permite definir varias situaciones que sucedera antes, durante y después de la ejecución de la pantalla de selección

Acceder a esta publicación

Creado y Compartido por: William Alejandro Lemus

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

PANTALLA DE SELECCION Parámetros de selección. Máximo de 8 posiciones Sentencia PARAMETERS. Pasar a > Elementos de texto > Textos de selección. RECORDAR que deben activarse OBLIGATORY para que sea obligatorio DEFAULT para un valor por defecto Otros parámetros son CHECKBOX y RADIOBUTTON SELECT-OPTIONS también se puede OBLIGATORY y DEFAULT SELECTION-SCREEN BEGIN OF BLOCK .. WITH FRAME TITLE ACLARACIONES SELECTION-SCREEN BEGIN OF LINE se usa para cuando tenemos que mostrar en pantalla un texto largo ya que normalmente son cortos. Se debe cerrar con SELECTION-SCREEN END OF LINE. SELECTION-SCREEN COMMENT 1(66) texto_del_parámetro 1 desde y 66 desplazamiento...

Acceder a esta publicación

Creado y Compartido por: David Brito Melado

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Pantalla de seleccion: Area dentro de los reportes en donde se especifican los parámetros de selección pór los cuales se ejecutará el programa. Compuesta por parámetros de entrada de datos. Hay dos tipos de parámetros 1 Los parameter en los cuales el usuario podrá ingresar valores individuales. Solo puede tener ocho posiciones. 2 Los select-options en donde el usuario podrá ingresar rangos de valores. Vamos a crear lo que llamamos textos de selección para cada uno de los parámetros de la pantalla de selección. Vamos a ir al menú Pasar a/ Elementos de texto/ Textos de selección Los Radiobutton en donde el usuario selecciona una de las opciones entre todas...

Acceder a esta publicación

Creado y Compartido por: Ariel Martucci / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

LOS PARAMETROS DE SELECCIÓN: delimitaciones del programa PANTALLA DE SELECCIÓN: se utiliza para restringir el procesamiento y la salida de los datos , se escribe despues de la declaración de datos , dentro del include La pantalla de selección esta compuesta por parametros de entrada,existen 2: PARAMETER: ingresar valores individuales PARAMETERS: p_fecha LIKE sy-datum - el nombre de un parametro debe ser de maximio 8 posiciones - podemos asginar un texto de selección a cada parametro, es necesario activarlos Existen algunos adiciones para los parametros como: OBLIGATORY: parametro obligatorio DEFAULT: asigna un valor por defecto tenemos dos tipos de parametros: checkbox: escoger dentro...

Acceder a esta publicación

Creado y Compartido por: Valentina Muñoz Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Selection-screen Este evento define la pantalla de selección PARAMETERS p_campo TYPE tipo. PARAMETERS p_campo TYPE elemento_de_datos. PARAMETERS p_campo LIKE tabla-campo. Select-options: mediante esta sentencia podemos declarar un rango de valores. Selection-screen begin of block nombre_bloque … selection-screen end of block nombre_bloque: con estas dos sentencias estamos definiendo un bloque de la pantalla de seleccción. Elemento de Texto/Texto de seleccion: Son los textos que se crean dentro de un programa ABAP y que se utilizan para los parámetros de la pantalla de selección, ya sea para los PARAMETER o los SELECT-OPTIONS. Se suele utilizar la convención de nombre P_ para los PARAMETERS y la...

Acceder a esta publicación

Creado y Compartido por: Santiago Hernández

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

PANTALLA DE SELECCIÓN Área dentro de los reportes donde se especifican parámetros de selección para restringir el procesamiento y la salida de datos. Parámetros de selección: longitud máxima del nombre de un parámetro es de 8 caracteres. PARAMETER(S) para ingresar valores individuales. SELECT-OPTIONS para ingresar rangos de valores, desde hasta. Clausula OBLIGATORY para el parámetro sea obligatorio Clausula DEFAULT para asignar al parámetro un valor por defecto. Tecla F4 para desplegar listas de selección o el calendario en caso de pedir fechas. Para cambiar las descripciones de los parámetros vamos al menú: Pasar a --> Elementos de texto --> Textos...

Acceder a esta publicación

Creado y Compartido por: Diego Fernando Londoño Valencia

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Resumen Lección: Pantalla de selección Parámetros de Selección Pantalla de Selección: Es un área dentro de los reportes en donde se especifican los parámetros de selección por los cuales se va a ejecutar el programa. Se utiliza para restringir el procesamiento y la salida de los datos. por lo general se coloca después de la declaración de datos. Dentro de una pantalla de selección se pueden declarar dos tipos de objetos: PARAMETER: en los cuales el usuario podrá ingresar valores individuales. SELECT-OPTIONS: en donde el usuario podrá ingresar rango de valores. La longitud máxima que puede tener el nombre de un parámetro es de 8...

Acceder a esta publicación

Creado y Compartido por: Alexander José Tovar Rodríguez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Pantalla de selección Si queremos introducir algunas delimitaciones a nuestro programa de modo que nuestro reporte solo se ejecute para ciertos datos que el usuario deberá introducir en la pantalla, entonces deberemos crear una pantalla de selección. La pantalla de selección es un área dentro de los reportes en donde se especifican los parámetros de selección por los cuales se va a ejecutar el programa. Dentro de una pantalla de selección se pueden declarar dos tipos de objetos: PARAMETER: En los cuales el usuario podrá ingresar datos individuales. SELECT-OPTIONS: En donde el usuario podrá ingresar rangos de valores. El parámetro de la cláusula OBLIGATORY...

Acceder a esta publicación

Creado y Compartido por: Abraham Arredondo Caceda / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


En ABAP (Advanced Business Application Programming), la pantalla de selección, también conocida como "Selección de Parámetros", es una interfaz gráfica que permite a los usuarios ingresar valores o criterios de selección antes de ejecutar un programa. Esta pantalla es utilizada para filtrar los datos o personalizar la salida del programa de acuerdo con las preferencias del usuario. La pantalla de selección es especialmente útil cuando se desarrollan programas que generan informes o procesan grandes volúmenes de datos, ya que permite al usuario especificar qué datos se deben incluir en el resultado final. A continuación, se presentan los componentes principales...

Acceder a esta publicación

Creado y Compartido por: Darling Geraldino

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

1. PARAMETROS DE SELECCIÓN Pantalla de Selección: Es un área dentro de los reportes en donde se especifican los parámetros de selección por los cuales se va a ejecutar el programa. Es utilizado para reestringir el procesamiento y la salida de los datos. Se coloca después de la declaración de datos. Tipos de objetos: - Parameter: Permite ingresar valores individuales que se utilizaran para restringir el procesamiento y la salida de los datos. - Select-options: Permite ingresar un rango de valores o valores individuales que se utilizaran para reestringir los datos de entrada (procesamiento) y salida de los datos. NOTA: si lo que se desea al declarar un solo parametro en la pantalla de selección,...

Acceder a esta publicación

Creado y Compartido por: Javier Mirabal

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!