ALV Jerarquico

Hola de nuevo, tras mucho tiempo sin añadir nada nuevo hoy vamos a recuperar el tiempo perdido. En este articulo se explica como hacer un ALV hierarchy o jerárquico, para ello utilizaremos la función Abap ‘REUSE_ALV_HIERSEQ_LIST_DISPLAY’ con sus eventos TOP_OF_PAGE y END_OF_LIST. Preparamos la tabla de eventos FORM f_alv_build_eventtab . DATA w_events TYPE slis_alv_event. CONSTANTS: lc_stat(30) TYPE c VALUE ‘PF_STATUS_SET’,           lc_fstat(30) TYPE c VALUE ‘F_Z_STATUS’, […]

Programa de control Adobe Forms

Hola, a continuación os dejo el código que nos permite llamar a los Formularios Adobe Forms desde el programa de control DATA: l_fm_name TYPE rs38l_fnam,l_formname TYPE fpname. DATA: le_outputparams TYPE sfpoutputparams,le_docparams TYPE sfpdocparams. CONSTANTS: c_nombre_form TYPE fpname VALUE ‘ZEFOC100326_GRUP_CENTRO’. CALL FUNCTION ‘FP_JOB_OPEN’ CHANGING   ie_outputparams = le_outputparams EXCEPTIONS   cancel = 1   usage_error = 2   system_error = 3   internal_error = 4   OTHERS = 5.IF sy–subrc NE .ENDIF. Llamaremos a la función FP_FUNCTION_MODULE_NAME pasandole el nombre de nuestro formulario, cargandonos en la variable l_fm_name el nombre del modulo de funciones. CLEAR l_fm_name.CALL FUNCTION ‘FP_FUNCTION_MODULE_NAME’ EXPORTING   i_name = c_nombre_form IMPORTING  […]

Crear infotipo de PD

Hola a todos, a continuacion les dejo un breve paso a paso que nos permitirá crear un Infotipo de PD que tendrá un table control.  Primero, iremos a la SE11 y definiremos una estructura HRI9XXX, en ella añadiremos todos los campos que no pertenecerán a la tabla. Luego crearemos una segunda estructura PT9XXX en la […]

Hacer matchcode con codigo

Hola, Hoy voy a colgar una función abap que nos permite tener una ayuda de búsqueda que controlaremos nosotros en una selección múltiple ‘F4IF_INT_TABLE_VALUE_REQUEST’. A continuación se muestra un ejemplo de esta función. AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_unio-low.   CLEAR: v_otype,          v_valor.   v_otype = ‘O’.   PERFORM f_ayuda_busqueda USING v_otype CHANGING v_valor.   MOVE v_valor TO […]

Crear tabla dinamicamente

Muy buenas de nuevo, a continuación voy a dejar un ejemplo de como crear una tabla de forma dinamica, para ello utilizaremos FIELD-SYMBOLS y la clase cl_alv_table_create con su método create_dynamic_table. A continuación detallo el código abap utilizado. DATA: lv_campo TYPE fieldname,       lv_aux(2) TYPE c.DATA: lv_i TYPE i. FIELD-SYMBOLS:  TYPE STANDARD TABLE ,  TYPE ANY ,  TYPE ANY . DATA: t_fieldcat TYPE lvc_t_fcat.DATA: table TYPE REF TO data,      line TYPE REF TO data. CLEAR lv_i.WHILE lv_i […]

Error inconsistency between ABAP Dictionary and the database

Muy Buenas, hoy quería dejar explicado como solucionar el siguiente error: “Syntax error in SDCC, table inconsistency between ABAP Dictionary and the database”. Para solucionar este problema tendremos que seguir los siguientes pasos: Syntax error in SDCC, table inconsistency between ABAP Dictionary and the database, transport error 8 during the generation of ABAP Dictionary. When […]

Leer campo dynpro

Hola, hoy voy a dejar una función que nos permite leer cualquier campo de una dynpro, para ello utilizaremos la función abap ‘UA_READ_FIELD_FROM_DYNPRO’.   CALL FUNCTION ‘UA_READ_FIELD_FROM_DYNPRO’   EXPORTING id_program          = program id_dynpro           = sy-dynnr id_field_name       = ‘RKAUF-TEST’   IMPORTING ed_field_value      = field_value   EXCEPTIONS failed               = 1 OTHERS = 2.    

Leer tabla dinamicamente

Muy buenas de nuevo. He tenido el blog un poco abandonado, pero … aquí estoy de nuevo. Ayer hice un grupo de funciones en el que tenia 32 vistas, estas tenían en común 4 campos (Creado por, Creado el, Modificado por y Modificado el) estos campos debería de aparecer bloqueados en sus vistas de actualización ya que se rellenarían de manera automática. Para hacer esto he utilizado […]

Insertar datos en un infotipo

Hola, La función abap ‘HR_INFOTYPE_OPERATION’ nos permite insertar o modificar datos de un infotipo desde un report. A continuación dejo un ejemplo de como utilizarla. Antes de llamar a este función deberemos bloquear al empleado, esto lo haremos mediante otra función * llamamos a la funcion que bloquea al empleado para poder guardar los* datos en el infotipo 9006CALL FUNCTION ‘ENQUEUE_EPPRELE’  […]