En el siguiente ejemplo se requiere filtrar sólo las cuentas contables de Caja y Banco, que vienen a ser las cuentas 1200000000 a 1299999999 para el país Perú.
El código debe quedar así:
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L0S31 {
font-style: italic;
color: #808080;
}
.L0S33 {
color: #4DA619;
}
.L0S52 {
color: #0000FF;
}
.L0S55 {
color: #800080;
}
INITIALIZATION.
* PARA OBTENER LAS CUENTAS CONTABLES PARA EL LIBRO
PERFORM CONSTANTE_RANGO : USING 'CTA_0010' CHANGING LR_SAKNR_12.
SPAN...
martes, 27 de diciembre de 2016
jueves, 1 de septiembre de 2016
- septiembre 01, 2016
- 0 Comments
El siguiente código nos lista las rutas que existen en el servidor de SAP.
* Constantes locales
CONSTANTS:lc_p TYPE c VALUE 'P',
lc_a TYPE dxfields-location VALUE 'A'.
* Variables locales
DATA: li_host TYPE STANDARD TABLE OF msxxlist,
lw_host TYPE msxxlist,
lv_path TYPE dxfields-longpath,
lv_ubicacion(1) TYPE c,
...
- septiembre 01, 2016
- 1 Comment
En el siguiente programa podremos transferir un xml a una tabla interna.
El código es el siguiente:
DATA: gcl_xml TYPE REF TO cl_xml_document.
DATA: gv_subrc TYPE sy-subrc.
DATA: gv_xml_string TYPE xstring.
DATA: gv_size TYPE sytabix.
DATA: gt_xml_data TYPE TABLE OF smum_xmltb.
DATA: gwa_xml_data TYPE smum_xmltb.
DATA: gt_return TYPE TABLE OF bapiret2.
DATA: gv_tabix TYPE sytabix.
DATA: gt_student TYPE TABLE OF ty_xml.
DATA:...
- septiembre 01, 2016
- 0 Comments
A veces queremos mostrar más información que la que podemos mostrar en un popup, para ello tenemos la opción de mostrar una tabla como popup, donde podamos visualizar más de un dato.
El código a implementar es el siguiente:
mostrar alv como popup
======================
FORM f_layout_build_det USING pi_layout TYPE slis_layout_alv.
CLEAR: pi_layout.
pi_layout-zebra = ''.
pi_layout-colwidth_optimize = 'X'.
pi_layout-box_fieldname ...
- septiembre 01, 2016
- 1 Comment
siempre necesitaremos esta lista de iconos para que nuestros programas sean más amigable y manejemos las vistas parecidas al estándar.
La lista es la siguiente:
ICON_2 ICON_DUMMY '@ 00 @' ". PlaceholderIcon
. ICON_2 ICON_CHECKED '@ 01 @' "A cuadros, OK
ICON_2 ICON_INCOMPLETE '@ 02 @'. "Incompleto
ICON_2 ICON_FAILURE '@ 03 @' ". No se
ICON_2 ICON_POSITIVE '@ 04 @'. "Positivo
ICON_2 ICON_NEGATIVE '@ 05 @'. "Negativo
ICON_2 ICON_LOCKED '@ 06 @'. "Locked
ICON_2 ICON_UNLOCKED '@ 07 @' "libre;. Desbloquear
ICON_4 ICON_GREEN_LIGHT '@ 08 @' "luz verde;....
- septiembre 01, 2016
- 0 Comments
A veces he tenido que pasas datos de un programa a otro, o capturar tablas luego de hacer submit a un programa y continuar mi lógica. Para ello tenemos el siguiente código ABAP que nos ayuda a transferir datos ente programas zetas.
Programa Fuente:
EXPORT p1 = xvari TO MEMORY ID 'XID'.
EXPORT p2 = xvarid TO MEMORY ID 'VID'.
EXPORT p3 = LG_VAR TO MEMORY ID 'VAR'."nombre de variante
EXPORT p4 = LG_NOM_REP ...
- septiembre 01, 2016
- 0 Comments
La siguiente publicación nos ayudará a debuger popus o ventanas modales en las que el famoso /h no puede.
Es necesario copiar el siguiente código en un txt y grabarlo, luego arrastramos el archivo txt hacia el popup o la ventana que necesitemos debuger.
[FUNCTION]
Command=/H
Title=Debugeando
Type=SystemComm...
- septiembre 01, 2016
- 0 Comments
La creación de estructuras internas ayudan mucho para no manejar ni crear demasiadas tablas internas, pero debemos de tener mucho cuidado a la hora de utilizarlas y acceder a la data, ya que podríamos confundirnos con los niveles.
El código es el siguiente:
types: begin of ty_est1,
campo1 type char1,
campo2 type char3,
end of ty_est1,
begin of ty_est2,
campo3 type...
- septiembre 01, 2016
- 0 Comments
Hay muchas formas de crear ayudas de búsqueda, una de ellas es poder crearlas desde código y asociarla a un parámetro de selección.
El código de la ayuda de búsqueda es la siguiente:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_desti-low.
PERFORM ayuda_desti CHANGING s_desti-low.
TYPES: BEGIN OF ty_desti,
desti TYPE zostb_destimate-desti,
END OF ty_desti.
DATA: lt_desti TYPE TABLE OF ty_desti WITH HEADER LINE.
DATA: BEGIN OF ihelp_fields OCCURS 0.
INCLUDE STRUCTURE...
- septiembre 01, 2016
- 0 Comments
Se utiliza el siguiente código:
PARAMETERS:
p_zona(5) AS LISTBOX VISIBLE LENGTH 5 OBLIGATORY. " Zona
INITIALIZATION.
PERFORM fill_listbox CHANGING p_zona.
FORM fill_listbox CHANGING p_zona.
TYPES: BEGIN OF ty_zona,
codzo TYPE zostb_zonapesca-codzo,
END OF ty_zona.
DATA: lt_zona TYPE STANDARD TABLE OF ty_zona WITH HEADER LINE,
wa_zona LIKE LINE OF lt_zona.
TYPE-POOLS: VRM.
DATA:...
- septiembre 01, 2016
- 0 Comments
Es muy importante manejar el try-catch como parte estándar de un desarrollo. Se utiliza para capturar un error, que no se genere un dump y los usuarios no salgan corriendo, creyendo que el programa exploto (es mi parte irónica).... en fin, una forma de arreglar este problemilla es capturar dichos errores y mostrarlos como mensajes.
El código es el siguiente:
TRY.
SELECT *
INTO TABLE g_ti_marc
FROM marc
FOR ALL ENTRIES IN g_ti_mara...
- septiembre 01, 2016
- 0 Comments
Anteriormente publique los pasos para ubicar user's exit's que pasaran por nuestros procesos e implementar el exit encontrado, estos pasos son bastante efectivos, pero, en el peor de los casos, tendremos que revisar todos los exit's uno por uno y eso nos tomará mucho tiempo. Por lo tanto encontré un código que si bien, no es más efectivo que la publicación comentada (Buscar User Exit's), pero es más eficaz, ya que nos ayuda a ahorrar tiempo y tal vez, ubicar más rápido nuestra exit. Espero que les sea de utilidad.
Solo tienen que crear...