...
En este paquete se encuentran la clase que implementa la Badi /IG4SEFOL/BADI_CUSTOMER_DATA_MODEL, el grupo de funciones ZGF_DEMOAECID2 que contiene las Dynpros “Datos Expedientes” y “Datos Adjudicación”, los módulos de función para acceder a ellas y por último los componentes Web Dynpro ZDEMOAECID2 Y ZDEMOAECID3 correspondientes.
...
A través de la Interface IF_CUSTOMER_DATA_MODEL, es posible adaptar y ampliar el Sistema eFolder al Modelo de Datos del Cliente, para poder implementar y dar código a cada uno de los métodos de esta interface, es necesario llevar a cabo una Implementación de Ampliación a través de la Badi /IG4SEFOL/BADI_CUSTOMER_DATA_MODEL y desarrollar por tanto una clase para esta Badi. La Implementación de Ampliación sobre esta Badi sería Z_AECID2_BADI_CUSTOMER_DATA_M:
...
- Importing:
I_TIPEX de tipo /IG4SEFOL/DE_TIPEX, Tipo de Expediente.
I_CPROG de tipo /IG4SEFOL/DE_CPROG, Código de Programa.
I_CPTRN de tipo /IG4SEFOL/DE_CPTRN, Código de Patrón.
I_NKEY, de tipo /IG4SEFOL/DE_ NODE_KEY, Clave de Nodo.
I_MANT_MODE, de tipo /IG4SEFOL/DE_MNTMD, Modo de Mantenimiento.
...
El código del método sería:
METHOD /IG4SEFOL/IF_CUSTOMER_DATA_MODEL~GET_DYNPRO_HEAD_BASICO.
CALL FUNCTION '/IG4SEFOL/FM_GET_PROGN'
EXPORTING
i_cprog = i_cprog
IMPORTING
e_progn = e_progn
e_dynnr = e_dynnr
e_cpwda = e_cpwda
e_vwwda = e_vwwda.
ENDMETHOD.
A través de este método se obtienen los datos básicos sobre la Dynpro que va a cargar los datos de cabecera de nuestro expediente, es decir, a través de este método indicándole el código de programa es posible a obtener el resto de valores que se haya Parametrizado. En nuestro caso, al indicarle como parámetro de entrada en código de programa /IG4SEFOL/HEAD se obtienen los siguientes parámetros de salida: /IG4SEFOL/SAPL_FG_DATA_MANAGEMENT y 0901 como valor de Dynpro. Para el resto de parámetros de salida no se obtiene nada ya que no se indica desde la parametrización que tuviera algún componente Web Dynpro asociado:
...
- Importing:
IW_EXPEDIENTE, de tipo /IG4SEFOL/TB_100, Cabecera de Expediente.
I_MNTMD, de tipo /IG4SEFOL/DE_MNTMD, Modo de Mantenimiento.
...
El código del método sería:
method /ig4sEFOL/if_customer_data_model~create_controls.
clear e_no_check.
endmethod.
...
El código del método sería el siguiente:
method /IG4SEFOL/IF_CUSTOMER_DATA_MODEL~SET_OKCODE.
me->okcode = i_okcode.
endmethod.
...
- Importing:
I_TIPEX de tipo /IG4SEFOL/DE_TIPEX, Tipo de Expediente.
I_CPROG de tipo /IG4SEFOL/DE_CPROG, Código de Programa.
I_CPTRN de tipo /IG4SEFOL/DE_CPTRN, Código de Patrón.
I_NKEY, de tipo /IG4SEFOL/DE_ NODE_KEY, Clave de Nodo.
I_MANT_MODE, de tipo /IG4SEFOL/DE_MNTMD, Modo de Mantenimiento.
...
Y el código de este Método es el siguiente:
method /ig4sEFOL/if_customer_data_model~get_dynpro_dato_basico.
call function '/IG4SEFOL/FM_GET_PROGN'
exporting
i_cprog = i_cprog
importing
e_progn = e_progn
e_dynnr = e_dynnr
e_cpwda = e_cpwda
e_vwwda = e_vwwda.
node_key = i_nkey.
endmethod.
...
- Importing:
IW_EXPEDIENTE, de tipo /IG4SEFOL/TB_100, Cabecera de Expediente.
I_MNTMD, de tipo /IG4SEFOL/DE_MNTMD, Modo de Mantenimiento.
IW_PASO, de tipo /IG4SEFOL/TB_401, pasos de Tramitación.
I_EXP_VINC, de tipo /IG4SEFOL/DE_RECID, Código de Expediente a Vincular.
...
El código del método sería el siguiente:
method /ig4sEFOL/if_customer_data_model~set_data.
data_exp = iw_expediente.
data_paso = iw_paso.
mant_mode = i_mntmd.
exp_vinc = i_exp_vinc.
call function 'ZFM_DEMODAECID2_SET'
exporting
iw_expediente = data_exp
i_mntmd = mant_mode.
endmethod.
...
- Exporting:
EX_EXPEDIENTE, de tipo /IG4SEFOL/TB_100, Cabecera de Expediente.
...
El código de este método es el siguiente:
method /ig4sEFOL/if_customer_data_model~get_data.
...
- Importing:
IW_EXPEDIENTE, de tipo /IG4SEFOL/TB_100, Cabecera de Expediente.
El código de este método sería el siguiente:
method /ig4sEFOL/if_customer_data_model~save.
data ls_zexpediente type zexpediente.
call function 'ZFM_DEMODAECID2_GET'
importing
ew_zexpediente = ls_zexpediente.
if sy-subrc = 0.
ls_zexpediente-tipex = iw_expediente-tipex.
ls_zexpediente-gjahr = iw_expediente-gjahr.
ls_zexpediente-numex = iw_expediente-numex.
call function 'ZFM_DEMODAECID2_UPD' in update task
exporting
iw_zexpediente = ls_zexpediente.
endif.
...