#1
|
|||
|
|||
Error en Select
Hola tengo el siguiente codigo y me trae este error, por favor si me pueden ayudar estoy nueva en esto gracias
DATA: BEGIN OF T_DATA1 OCCURS 0, BUKRS LIKE ZTHR_USUA_EMPL-BUKRS, PERNR LIKE ZTHR_USUA_EMPL-PERNR, USUARIO LIKE ZTHR_USUA_EMPL-USUARIO, FEC_ING LIKE ZTHR_USUA_EMPL-FEC_ING, TIP_CTA LIKE ZTHR_USUA_EMPL-TIP_CTA, FECHA LIKE ZTHR_USUA_EMPL-FECHA, HORA LIKE ZTHR_USUA_EMPL-HORA, NACHN LIKE PA0002-NACHN, ORGEH LIKE PA0001-ORGEH, PERSNO LIKE PA0002-PERNR, END OF T_DATA1. FORM OBTENER_DATOS. SELECT BUKRS PERNR TIP_CTA INTO T_DATA1 FROM ZTHR_USUA_EMPL WHERE BUKRS IN S_TSOC AND PERNR IN S_TEMPL AND TIP_CTA IN TIP_CTA. APPEND T_DATA1. ENDSELECT. LOOP AT T_DATA1. CONTADOR = SY-TABIX. MODIFY T_DATA1 INDEX CONTADOR. ENDLOOP. ENDFORM. Este es el error : The IN operator with "TIP_CTA" is followed neither by an internal table nor by a value list. |
#2
|
||||
|
||||
SELECT BUKRS PERNR TIP_CTA
INTO T_DATA1 FROM ZTHR_USUA_EMPL WHERE BUKRS IN S_TSOC AND PERNR IN S_TEMPL AND TIP_CTA IN TIP_CTA.<-- fijate aca cambiale el nombre al selec-option o APPEND T_DATA1. rango que estas usando ENDSELECT. |
#3
|
|||
|
|||
Buenos dias, si no me equivo por el codigo que muestras el proble es con el operador IN estas haciendo referencia en el select a:
AND TIP_CTA IN TIP_CTA. el campo al cual estas haciendo el IN, tambien lo estas colocando en las toma de campos. Me explico mejor: el PARAMETRO que declaraste con el select option TIP_CTA, se llama igual al campo de la tabla ZTHR_USUA_EMPL, es posible que eso te este trayendo incovenientes. Intenta cambiando el nombre del parametro. S.L.
__________________
ATTILIO TRAVASCIO |
#4
|
|||
|
|||
YA LES CAMBIE EL NOMBRE Y ESTE ES EL ERROR QUE ME ARROJA
The IN operator with "T_CTA" is followed neither by an internal table nor by a value list. ESTO ME TIENE LA VIDA TRISTE |
#5
|
|||
|
|||
El error que te esta dando es que TIP_CTA LIKE ZTHR_USUA_EMPL-TIP_CTA,
no debe ser de la estructura que aceptan el operador IN (es decir select-option o ranges, o una tabla con la estructura --> sign, option, low y high) Saludos. |
#6
|
||||
|
||||
tal cual dice nuestro compañero, cambiale el nombre del parametro por ejemplo so_T_CTA asi no te queda igual al campo de la tabla z.
|
#7
|
|||
|
|||
Le cambio el nombre y me arroja el mismo error, lo que quiero hacer, es llamar este campo y se refleje en el reporte
The IN operator with "SO_T_CTA" is followed neither by an internal table nor by a value list. Aqui les mando todo el codigo a ver si que en otro lugar del programa TABLES: ZTHR_USUA_EMPL,PA0001,PA0002. ******* TABLA INTERNA****************** DATA: BEGIN OF T_DATA1 OCCURS 0, BUKRS LIKE ZTHR_USUA_EMPL-BUKRS, PERNR LIKE ZTHR_USUA_EMPL-PERNR, USUARIO LIKE ZTHR_USUA_EMPL-USUARIO, FEC_ING LIKE ZTHR_USUA_EMPL-FEC_ING, TIP_CTA LIKE ZTHR_USUA_EMPL-TIP_CTA, FECHA LIKE ZTHR_USUA_EMPL-FECHA, HORA LIKE ZTHR_USUA_EMPL-HORA, NACHN LIKE PA0002-NACHN, ORGEH LIKE PA0001-ORGEH, PERSNO LIKE PA0002-PERNR, END OF T_DATA1. ******* VARIABLE********************** DATA: CONTADOR TYPE I. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 3(15) TEXT-003. SELECT-OPTIONS: s_tsoc FOR ZTHR_USUA_EMPL-BUKRS. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 3(15) TEXT-004. SELECT-OPTIONS: s_templ FOR ZTHR_USUA_EMPL-PERNR. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK b1. SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 3(16) TEXT-005. PARAMETERS p_red AS CHECKBOX. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 3(16) TEXT-006. PARAMETERS p_correo AS CHECKBOX. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK b2. START-OF-SELECTION. PERFORM OBTENER_DATOS. PERFORM IMPRIMIR_DATOS. FORM OBTENER_DATOS. SELECT BUKRS PERNR TIP_CTA INTO T_DATA1 FROM ZTHR_USUA_EMPL WHERE BUKRS IN S_TSOC AND PERNR IN S_TEMPL AND TIP_CTA IN so_T_CTA. APPEND T_DATA1. ENDSELECT. LOOP AT T_DATA1. CONTADOR = SY-TABIX. MODIFY T_DATA1 INDEX CONTADOR. ENDLOOP. ENDFORM. FORM IMPRIMIR_DATOS. WRITE:/1'SOCIEDAD', 15'NUM_EMPL',40 'NOMBRE', 60 'TIP0'. LOOP AT T_DATA1. WRITE:/1 T_DATA1-BUKRS,15 T_DATA1-PERNR, 40 T_DATA1-NACHN, 60 T_DATA1-TIP_CTA . ENDLOOP. ENDFORM. gracias |
#8
|
|||
|
|||
y el SELECT-OPTIONS so_T_CTA donde está???
__________________
La sociedad está rápida en reacción, lenta en reflexión... |
#9
|
||||
|
||||
A verrr ....
holas...
Bueno el Operador "IN" se utiliza para una lista (ya sea un rango, un select-option o algo parecido)... Si tu comparas dentro de tu SELECT con IN y el campo a comparar no es una lista pues te puede dar error. Si el campo SO_T_CTA o el T_CTA no son lista (rangos o select-option) no lo pongas en la seleccion como "IN" solo pon un "EQ" (solo iguala al campo). Prueba con eso.. Sld, Marcko |
Herramientas | Buscar en Tema |
Desplegado | |
|
|