|
#1
|
|||
|
|||
Problema con ALV ayuda
sALUDOS A TODOS ESTOY HACIENDO UN REPORTE CON ALV ,PERO TENGO UN PROBLEMA YA QUE AGREGUE 2 CAMPOS EXTRAS A MI TABLA INTERNA DONDE UNO DEPENDE DEL OTRO , ES DECIR DEL VALOR QUE TENGA UNO EN ESTE CASO (PA9111-ITRIBEN ) VOY A COLOCAR UN TEXTO (EFECITO O CHEQUE ) EN UN CAMPO QUE YO INVENTE EN MI TABLA TPT TYPE C.
AHORA UNA VEZ QUE HAGO MI CONSULTA A LAS TABLAS EL CAMPO TPT ME QUEDA VACIO PORQUE DEBO CONSULTAR PRIMERO A MI CAMPO ITRIBEN PARA SABER QUE VALOR VA , PERO CUANDO TRATO DE HACER UN LOOP PARA RECORRER LA TABLA INTERNA ME DICE QUE NO SE PUEDE QUE DEBE IR ACOMPAÑADO DE UN INTO O DE UN ASSSIGN , ES LA PRIMERA VEZ QUE HAGO UN ALV Y DE VERDAD QUE ME ESTA COSTANDO MUCHO ESA TONTERIA , ESPERO ME PUEDAN AYUDAR. |
#2
|
||||
|
||||
ese mensaje te debe salir porque tu tabla interna no la has declarado con cabecera:
DATA: IT_tabla TYPE STANDARD TABLE OF ...... WITH HEADER LINE. O en todo caso puede declarar un área de trabajo ó trabajar con field-symbol
__________________
Luis Lipa
|
#3
|
|||
|
|||
Este Es El Codigo De La Parte Donde Creo Que Hay Problema
report .
*========================== Global definitions ====================* ** * Data Types ** type-pools: slis. types: begin of tp_data , pernr like pa9111-pernr, perfil like pa9111-perfil, finimedemb like pa9111-finimedemb, mtunico like pa9111-mtunico, porsmn like pa9111-porsmn, cibenfr like pa9111-cibenfr, nbbenfr like pa9111-nbbenfr, tribunal like pa9111-tribunal, numofic like pa9111-numofic, fofc like pa9111-fofc, numofcsup like pa9111-numofcsup, status like pa9111-status, bukrs like pa0001-bukrs, abkrs like pa0001-abkrs, ename like pa0001-ename, icnum like pa0185-icnum, intereses like zint_eval-intereses, dsmotemb like z9hrmotemb-dsmotemb, tstatus like z9hrtstemb-tstatus, itriben LIKE pa9111-itriben, tpt TYPE c, end of tp_data, tp_tbl_data type standard table of tp_data . ** * Constants ** ** * Data objects (variable declarations and definitions) ** * Report data to be shown. data: it_data type standard table of tp_data . * Heading of the report. data: t_heading type slis_t_listheader. *======================= Selection Screen ==========================* selection-screen: begin of block b1 with frame title text-t01. DATA: w_aux_bukrs like pa0001-bukrs. SELECT-OPTIONS s_bukrs for w_aux_bukrs OBLIGATORY . DATA: w_aux_abkrs like pa0001-abkrs. SELECT-OPTIONS s_abkrs for w_aux_abkrs OBLIGATORY . DATA: w_aux_pernr like pa9111-pernr. SELECT-OPTIONS s_pernr for w_aux_pernr . DATA: w_aux_begda like pa9111-begda. SELECT-OPTIONS s_begda for w_aux_begda . DATA: w_aux_finimedemb like pa9111-finimedemb. SELECT-OPTIONS s_fini03 for w_aux_finimedemb . DATA: w_aux_status like pa9111-status. SELECT-OPTIONS s_status for w_aux_status . DATA: w_aux_codmotivo like pa9111-codmotivo. SELECT-OPTIONS s_codm05 for w_aux_codmotivo . DATA: w_aux_fofc like pa9111-fofc. SELECT-OPTIONS s_fofc for w_aux_fofc . DATA: w_aux_numofic like pa9111-numofic. SELECT-OPTIONS s_numo07 for w_aux_numofic . DATA: w_aux_tribunal like pa9111-tribunal. SELECT-OPTIONS s_trib08 for w_aux_tribunal . selection-screen: end of block b1. *======================== Event Blocks =============================* at selection-screen. start-of-selection. perform get_data using it_data . end-of-selection. perform build_alv using it_data t_heading. *======================== Subroutines ==============================* *&------------------------------------------------------------------* *& Form get_data *&------------------------------------------------------------------* * Gets the information to be shown in the report. *-------------------------------------------------------------------* form get_data using t_data TYPE tp_tbl_data . *DATA:t_data TYPE tp_tbl_data WITH HEADER LINE. SELECT pa0001~bukrs pa0001~abkrs zint_eval~intereses pa9111~pernr pa0185~icnum pa0001~ename pa9111~perfil pa9111~finimedemb pa9111~mtunico pa9111~porsmn z9hrmotemb~dsmotemb z9hrtstemb~tstatus pa9111~cibenfr pa9111~nbbenfr pa9111~tribunal pa9111~numofic pa9111~fofc pa9111~status pa9111~numofcsup pa9111~itriben INTO CORRESPONDING FIELDS OF TABLE t_data FROM pa9111 as pa9111 inner join pa0001 as pa0001 on pa9111~pernr = pa0001~pernr inner join pa0185 as pa0185 on pa9111~pernr = pa0185~pernr inner join zint_eval as zint_eval on pa9111~pernr = zint_eval~empleado inner join z9hrmotemb as z9hrmotemb on pa9111~codmotivo = z9hrmotemb~codmotivo inner join z9hrtstemb as z9hrtstemb on pa9111~status = z9hrtstemb~status WHERE pa9111~pernr in s_pernr AND pa9111~begda in s_begda and pa9111~endda in s_begda AND pa9111~finimedemb in s_fini03 AND pa9111~status in s_status AND pa9111~codmotivo in s_codm05 AND pa9111~fofc in s_fofc AND pa9111~numofic in s_numo07 AND pa9111~tribunal in s_trib08 AND pa0001~bukrs in s_bukrs AND pa0001~abkrs in s_abkrs . DELETE ADJACENT DUPLICATES FROM t_data. * AQUI ES DONDE QUIERO AGREGAR EL LOOP PARA ACTUALIZAR T_DATA endform. " get_data |
#4
|
|||
|
|||
Como te comenta Luis999 si quieres hacer un loop para tratar las variables debes de crearte una tabla con un workarea o un workarea a parte o utilizar un fieldsymbol.
Lo más rápido sería que en la declaración de la tabla uses: * Report data to be shown. data: it_data type standard table of tp_data WITH HEADER LINE. También podrías declararte un workarea independiente de esta forma: data: wa_data LIKE LINE OF it_data. Un saludo. |
#5
|
|||
|
|||
Podrian Explicarme Un Poco Mas Como Deberia Trabajarlo , Les Agradezco Mucho , Lo Que Me Interesa Es Que T_data Quede Con Los Datos Como Me Interesa Para Que El Proceso No Cambien , Osea Usa Wa_data ( Si Es El Caso ) Como Respostorio Para Agregar El Dato Al Campo Que Esta Vacio Y Luego Regresarlo A T_data. Espero Me Entiendan.
|
#6
|
||||
|
||||
Para que puedas recorrer tu tabla interna , debes declararla de la siguiente forma:
types: begin of t_tabla, campo1 like .... campo2 like..... end of t_tabla. DATA: IT_tabla TYPE STANDARD TABLE OF t_tabla WITH HEADER LINE. Espero que con esto te quede claro
__________________
Luis Lipa
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|