#1
|
||||
|
||||
Matchcode por modulo de función
Hola,
tengo un problema al leer los parámetros import de restricciones de mi matchcode, no se como acceder a ellos para hacer mi seleccion de datos y posteriormente mostrarlos. Me he basado en esta respuesta que encontré en el foro, pero no se bien como hacer mi select con los parametros que ha introducido el usuario. Os pego el código del otro post. Mi duda está aquí: * Puebla tu tabla interna, por ejemplo select * into corresponding fields of table mis_datos from <tu_tabla> where <tus_condiciones>. Entiendo que en <tus condiciones> hay que hacer referencia a los parametros import del matchcode....como debo declararlos? alguna idea? Un saludo y gracias |
#2
|
||||
|
||||
¿Nadie ha hecho nunca algo parecido a esto?
Tengo otro problema: no se como sacar la ayuda de búsqueda individual de cada una de las restricciones. Si creo el matchcode cogiendo los parámetros de una vista o una tabla si que coge sus ayudas de busqueda pero si lo creo con el módulo de función no me aparecen. ¿Alguna idea? |
#3
|
|||
|
|||
Imports Matchcodes
Qué tal?
Ojalá alguien te respondiera porque tengo justamente el mismo problema... me explicarón que tenía que usar lo del callcontrol 'SELECT' pero tampoco sé como va el tema. Incluso mirando el código comentado del standard, hay una variable 'RC' que no sé de donde sale tampoco: IF callcontrol-step = 'SELECT'. PERFORM STEP_SELECT TABLES RECORD_TAB SHLP_TAB CHANGING SHLP CALLCONTROL RC. IF RC = 0. CALLCONTROL-STEP = 'DISP'. ELSE. CALLCONTROL-STEP = 'EXIT'. ENDIF. EXIT. "Don't process STEP DISP additionally in this call. ENDIF. Si consigo averiguar cómo va o si lo haces tu primero, nos escribimos, vale? Saludos! LauraV. |
#4
|
|||
|
|||
Vaya... no me había fijado en la fecha del mensaje... en fin, supongo que después de estos años ya lo habrán resuelto... de todas formas, si a alguien le interesa, que me pregunte que he logrado averiguar cómo va esto...
Saludos! LauraV. |
#5
|
|||
|
|||
Hola Laura
Resulta que yo tambien estoy tratando de hacer un math code, el problema es, por ejemplo, al consultar los datos obtengo 4 registros, pero la popup sale con 4 lineas en blanco sin los valores, no se como hacer para que me muestre los datos y no solo los registros en blanco . IF callcontrol-step = 'SELECT'. SELECT pernr FROM nper INTO TABLE ti_ngpa WHERE sptyp EQ '01'. REFRESH record_tab. CALL FUNCTION 'F4UT_RESULTS_MAP' TABLES shlp_tab = shlp_tab record_tab = record_tab source_tab = ti_ngpa CHANGING shlp = shlp callcontrol = callcontrol EXCEPTIONS illegal_structure = 1 OTHERS = 2. callcontrol-step = 'DISP'. ENDIF. Gracias. Úlima edición por jjeffer fecha: 05/09/11 a las 19:56:30. |
#6
|
|||
|
|||
Hola, yo tengo el mismo problema no se como hacer referencia a los datos de Import si alguien sabe exactamente como se hace si lo pued postear o envia se lo agradecería.
Gracias. Un saludo. |
#7
|
|||
|
|||
Mira lo que debes hacer es crear un modulo de funciones por la SE37, sin parametros de IMPORT y EXPORT, pero si con los siguientes parametros. En TABLES SHLP_TAB TYPE SHLP_DESCT RECORD_TAB TYPE SEAHLPRES En CHANGING SHLP TYPE SHLP_DESCR CALLCONTROL LIKE DDSHF4CTRL Luego si va el código ************************************ * Se declara la estructura que almacena los datos del MatchCode ************************************ DATA: BEGIN OF ti_ngpa OCCURS 0, name1 TYPE gpnam1, "Debe ser igual al nombre del parametro END OF ti_ngpa. IF callcontrol-step = 'SELECT'. ************************************ * Inicio Se realiza la consulta y se almacenan los datos ************************************ SELECT pernr FROM nper INTO TABLE ti_nper WHERE sptyp EQ '01'. LOOP AT ti_nper. SELECT SINGLE gpart FROM ngpa INTO lv_gpa WHERE gpart = ti_nper-pernr. CLEAR ti_ngpa. CALL FUNCTION 'ISH_NGPA_CONCATENATE' EXPORTING ss_gpart = lv_gpa ss_read_ngpa = 'X' IMPORTING ss_pname = ti_ngpa-name1 EXCEPTIONS wrong_gpart = 1 OTHERS = 2. APPEND ti_ngpa. ENDLOOP. ************************************ * Fin Se realiza la consulta y se almacenan los datos ************************************ REFRESH record_tab. CALL FUNCTION 'F4UT_RESULTS_MAP' TABLES shlp_tab = shlp_tab record_tab = record_tab source_tab = ti_ngpa CHANGING shlp = shlp callcontrol = callcontrol EXCEPTIONS illegal_structure = 1 OTHERS = 2. callcontrol-step = 'DISP'. CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET' EXPORTING parameter = 'NAME1' " Reference to search help parameter fieldname = 'NAME1' " Reference to field of Seatinfo TABLES shlp_tab = shlp_tab record_tab = record_tab results_tab = ti_ngpa CHANGING shlp = shlp callcontrol = callcontrol. ENDIF. Espero te sirva |
#8
|
||||
|
||||
en la tabla shlp-selopt que es pasada como CHANGING están todos los parámetros por los que filtraste en la ayuda para búsqueda y tiene la siguiente estructura similar a un rango.
SHLPNAME SHLPFIELD SIGN OPTION LOW HIGH Saludos.
__________________
Sebastián Chiavia |
#9
|
|||
|
|||
Gracias por los aportes.
Pero tengo un problema tonto que no se como resolver ya que no se como leer el numero de empleado. Hago una ayuda de búsqueda en el infotipo 61 donde un campo tendrá un valor según el TRFAR,TRFGB, y TRFGR del infotipo 8. Lo que no consigo es leer el PERNR. He probado con PERNR en el import y con una estructura INNNN-PERNR pero no consigo obtener el numero del empleado de la ayuda de busqueda asociada a ese infotipo dodne lo leo. MUchas Gracias. Saludos. |
#10
|
|||
|
|||
Me da que va a ser imposible pq la ayuda de búsqueda la disparó en una tabla. Y necesito leer el pernr del infotipo 61, pero no tengo ninguna relación con esa tabla, sólo la categoría.
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|