buenos dia:
Con algunos ejemplos he logrado armar un pequeño mantenimiento se me presentan los siguientes inconvenientes:
1.En mi tabla de mi bd defini el campo como NUMC el cual al parecer no acepta letras, trato de cambiar este campo en la transacción se11 despues de cambiarlo ejecuto utilidades/generador actul. tab pero cuando quiero editar en la transaccion SM30 sigue sin acceptarme letras ese es el punto 1...
2.Ahora en el punto dos tengo una columna de estados la cual la determine en dominio I-Inactivo, A- Activo al momento de querer listar este campo en un alv
no me sale nada...ademas quisiera que en mi mantenimiento pudiera listar los dos estados en un combobox para poder actualizar posteriormente..
aqui les pongo mi codigo:
Con algunos ejemplos he logrado armar un pequeño mantenimiento se me presentan los siguientes inconvenientes:
1.En mi tabla de mi bd defini el campo como NUMC el cual al parecer no acepta letras, trato de cambiar este campo en la transacción se11 despues de cambiarlo ejecuto utilidades/generador actul. tab pero cuando quiero editar en la transaccion SM30 sigue sin acceptarme letras ese es el punto 1...
2.Ahora en el punto dos tengo una columna de estados la cual la determine en dominio I-Inactivo, A- Activo al momento de querer listar este campo en un alv
no me sale nada...ademas quisiera que en mi mantenimiento pudiera listar los dos estados en un combobox para poder actualizar posteriormente..
aqui les pongo mi codigo:
REPORT Z_PROGRAMA_PRUEBA.
TABLES: ztabla_prueba.
type-pools: slis.
TYPES: BEGIN OF t_ztabla_prueba,
COD_EMPL TYPE ztabla_prueba-COD_EMPL,
NOMB_APE TYPE ztabla_prueba-NOMB_APE,
STD_COM TYPE ztabla_prueba-STD_COM,
END OF t_ztabla_prueba.
DATA: it_ztabla_prueba TYPE STANDARD TABLE OF t_ztabla_prueba INITIAL SIZE 0,
wa_ztabla_prueba TYPE t_ztabla_prueba.
data: fieldcatalog type slis_t_fieldcat_alv with header line,
gd_tab_group type slis_t_sp_group_alv,
gd_layout type slis_layout_alv,
gd_repid like sy-repid.
START-OF-SELECTION.
DATA: ln_tabla TYPE ztabla_prueba. "tabla: nombre de la tabla
TABLES: sscrfields.
SELECTION-SCREEN PUSHBUTTON 2(10) but1 USER-COMMAND usr1.
SELECTION-SCREEN PUSHBUTTON 20(10) but2 USER-COMMAND usr2.
SELECTION-SCREEN PUSHBUTTON 38(10) but3 USER-COMMAND usr3.
data wa_empleados like ztabla_prueba.
parameters Codigo like ztabla_prueba-cod_empl.
parameters Nombre like ztabla_prueba-nomb_ape.
perform data_retrieval.
perform build_fieldcatalog.
perform build_layout.
perform display_alv_report.
form build_fieldcatalog.
fieldcatalog-fieldname = 'COD_EMPL'.
fieldcatalog-seltext_m = 'COD EMPLEADO'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 8.
fieldcatalog-datatype = 'NUMC'.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
* fieldcatalog-do_sum = 'X'.
* fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'NOMB_APE'.
fieldcatalog-seltext_m = 'NOMB APELLIDO'.
fieldcatalog-col_pos = 0.
fieldcatalog-datatype = 'NUMC'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'STD_COM'.
fieldcatalog-seltext_m = 'ESTADO'.
fieldcatalog-col_pos = 0.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
* gd_layout-totals_only = 'X'.
* gd_layout-f2code = 'DISP'. "Sets fcode for when double
* "click(press f2)
* gd_layout-zebra = 'X'.
* gd_layout-group_change_edit = 'X'.
* gd_layout-header_text = 'helllllo'.
endform.
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
* i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
* i_callback_user_command = 'USER_COMMAND'
* i_grid_title = outtext
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
* it_special_groups = gd_tabgroup
* IT_EVENTS = GT_XEVENTS
i_save = 'X'
* is_variant = z_template
tables
t_outtab = it_ztabla_prueba
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform.
form data_retrieval.
select cod_empl nomb_ape std_com
up to 10 rows
from ztabla_prueba
into table it_ztabla_prueba.
endform.
INITIALIZATION.
but1 = 'Insertar'.
but2 = 'Actualizar'.
but3 = 'Eliminar'.
AT SELECTION-SCREEN.
CASE sscrfields.
WHEN 'USR1'.
ln_tabla-cod_empl = Codigo.
ln_tabla-nomb_ape = Nombre.
insert into ztabla_prueba values ln_tabla.
MESSAGE 'Datos Insertados' TYPE 'S'.
WHEN 'USR2'.
update ztabla_prueba set nomb_ape = Nombre Where cod_empl = Codigo.
MESSAGE 'Datos Actualizados' TYPE 'S'.
WHEN 'USR3'.
delete from ztabla_prueba where cod_empl = Codigo.
MESSAGE 'Datos Eliminados' TYPE 'S'.
ENDCASE.
TABLES: ztabla_prueba.
type-pools: slis.
TYPES: BEGIN OF t_ztabla_prueba,
COD_EMPL TYPE ztabla_prueba-COD_EMPL,
NOMB_APE TYPE ztabla_prueba-NOMB_APE,
STD_COM TYPE ztabla_prueba-STD_COM,
END OF t_ztabla_prueba.
DATA: it_ztabla_prueba TYPE STANDARD TABLE OF t_ztabla_prueba INITIAL SIZE 0,
wa_ztabla_prueba TYPE t_ztabla_prueba.
data: fieldcatalog type slis_t_fieldcat_alv with header line,
gd_tab_group type slis_t_sp_group_alv,
gd_layout type slis_layout_alv,
gd_repid like sy-repid.
START-OF-SELECTION.
DATA: ln_tabla TYPE ztabla_prueba. "tabla: nombre de la tabla
TABLES: sscrfields.
SELECTION-SCREEN PUSHBUTTON 2(10) but1 USER-COMMAND usr1.
SELECTION-SCREEN PUSHBUTTON 20(10) but2 USER-COMMAND usr2.
SELECTION-SCREEN PUSHBUTTON 38(10) but3 USER-COMMAND usr3.
data wa_empleados like ztabla_prueba.
parameters Codigo like ztabla_prueba-cod_empl.
parameters Nombre like ztabla_prueba-nomb_ape.
perform data_retrieval.
perform build_fieldcatalog.
perform build_layout.
perform display_alv_report.
form build_fieldcatalog.
fieldcatalog-fieldname = 'COD_EMPL'.
fieldcatalog-seltext_m = 'COD EMPLEADO'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 8.
fieldcatalog-datatype = 'NUMC'.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
* fieldcatalog-do_sum = 'X'.
* fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'NOMB_APE'.
fieldcatalog-seltext_m = 'NOMB APELLIDO'.
fieldcatalog-col_pos = 0.
fieldcatalog-datatype = 'NUMC'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'STD_COM'.
fieldcatalog-seltext_m = 'ESTADO'.
fieldcatalog-col_pos = 0.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
* gd_layout-totals_only = 'X'.
* gd_layout-f2code = 'DISP'. "Sets fcode for when double
* "click(press f2)
* gd_layout-zebra = 'X'.
* gd_layout-group_change_edit = 'X'.
* gd_layout-header_text = 'helllllo'.
endform.
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
* i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
* i_callback_user_command = 'USER_COMMAND'
* i_grid_title = outtext
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
* it_special_groups = gd_tabgroup
* IT_EVENTS = GT_XEVENTS
i_save = 'X'
* is_variant = z_template
tables
t_outtab = it_ztabla_prueba
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform.
form data_retrieval.
select cod_empl nomb_ape std_com
up to 10 rows
from ztabla_prueba
into table it_ztabla_prueba.
endform.
INITIALIZATION.
but1 = 'Insertar'.
but2 = 'Actualizar'.
but3 = 'Eliminar'.
AT SELECTION-SCREEN.
CASE sscrfields.
WHEN 'USR1'.
ln_tabla-cod_empl = Codigo.
ln_tabla-nomb_ape = Nombre.
insert into ztabla_prueba values ln_tabla.
MESSAGE 'Datos Insertados' TYPE 'S'.
WHEN 'USR2'.
update ztabla_prueba set nomb_ape = Nombre Where cod_empl = Codigo.
MESSAGE 'Datos Actualizados' TYPE 'S'.
WHEN 'USR3'.
delete from ztabla_prueba where cod_empl = Codigo.
MESSAGE 'Datos Eliminados' TYPE 'S'.
ENDCASE.
Comentario