La entrada del programa es el nombre del empleado que esta guardado en el campo bseg-sgtxt. lo que quiero es crear una tabla que se vincule al mach code, ¿se podrá?.
¿como asociar el boton del Mach code en la entrada de un reporte con una tabla creada
Colapsar
X
-
Etiquetas: Ninguno
-
Hola .. entiendo que el nombre del empleado el cual se ingresa como parametro de entrada en el programa se guarda dentro del campo BSEG-SGTXT (Descripcion del detalle del documento contable), lo demas no entiendo sobre el matchcode, puedes explicart un poco mejor
David Carballido Córdova
-
Originalmente publicado por DavidXD_XDHola .. entiendo que el nombre del empleado el cual se ingresa como parametro de entrada en el programa se guarda dentro del campo BSEG-SGTXT (Descripcion del detalle del documento contable), lo demas no entiendo sobre el matchcode, puedes explicart un poco mejor
Buenos días.
Lo que quiero es que cuando le de al matchcode se despliege una lista con los nombres de los empleados y pueda seleccionar uno para que se coloque en el campo de entrada.Archivos AdjuntosComentario
-
A ya veo ... ahi jalas todos los nombres de los empleados que colocaste en la BSEG, yo lo hice de esta forma:
Y para direccionar esa ayuda de busqueda al campo que quiero hice esto dentro de la logica de pantallaCódigo:[COLOR="Blue"]*&---------------------------------------------------------------------* *& Module VALUE_W_SAS INPUT *&---------------------------------------------------------------------* * Llamada de la función para desplegar ayuda (F4) dentro del * campo w_sas y w_sas2 *----------------------------------------------------------------------*[/COLOR] MODULE value_w_sas INPUT. [COLOR="blue"]* Lleno la tabla interna con los valores a mostrar en el match-code[/COLOR] SELECT * INTO CORRESPONDING FIELDS OF TABLE ti_sas FROM dd07t WHERE domname = 'ZSASN'. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'INTERNAL' dynpprog = sy-repid dynpnr = sy-dynnr dynprofield = 'INTERNAL' value_org = 'S' window_title = text-t30 TABLES value_tab = ti_sas return_tab = return_values EXCEPTIONS parameter_error = 1 no_values_found = 2 OTHERS = 3. ENDMODULE. " VALUE_W_SAS INPUT
Pero esto es para dynpros, si en tu caso realizas el ejercicio con parametros de seleccion, seria bueno darle una ojeada a este ejemplo Demo de SAPCódigo:PROCESS BEFORE OUTPUT. MODULE STATUS. PROCESS AFTER INPUT. MODULE COPY_OK_CODE. MODULE EXIT_COMMAND AT EXIT-COMMAND. CHAIN. FIELD: W_SAS, W_FCHINI, W_FCHFIN. MODULE VALIDA_SAS. MODULE VALIDA_FECHA. MODULE USER_COMMAND. ENDCHAIN. PROCESS ON VALUE-REQUEST. FIELD W_SAS MODULE VALUE_W_SAS.
demo_selection_screen_f4
Espero te pueda servir =DDavid Carballido Córdova
Comentario
-
Matchcode con tablas internas
Buenos días.
Encontre una rutina con tablas internas y la función 'F4IF_INT_TABLE_VALUE_REQUEST' para crear matchcode . Lo que hice fue crear dos tablas internas y mandarla a la función para que me aparezcan los datos en el matchcode.
DATA: BEGIN OF IT_SGTXT OCCURS 0,
NAME1 LIKE KNA1-NAME1,
NAME2 LIKE KNA1-NAME2,
END OF IT_SGTXT.
DATA: BEGIN OF IT_MATCH OCCURS 0,
SHLPNAME LIKE DDSHRETVAL-SHLPNAME,
FIELDNAME LIKE DDSHRETVAL-FIELDNAME,
RECORDPOS LIKE DDSHRETVAL-RECORDPOS,
FIELDVAL LIKE DDSHRETVAL-FIELDVAL,
RETFIELD LIKE DDSHRETVAL-RETFIELD,
END OF IT_MATCH.
SELECTION-SCREEN BEGIN OF BLOCK KD_0 WITH FRAME TITLE TEXT-000.
SELECT-OPTIONS: KD_SGTXT FOR BSEG-SGTXT NO-EXTENSION.
PARAMETERS: KD_BUKRS TYPE BSEG-BUKRS.
SELECTION-SCREEN END OF BLOCK KD_0.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR KD_SGTXT-LOW.
SELECT NAME1 NAME2 FROM KNA1 INTO TABLE IT_SGTXT WHERE SORTL EQ 'EMPLEADO'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'NAME1'
WINDOW_TITLE = 'EMPLEADO'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_SGTXT
RETURN_TAB = IT_MATCH
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC EQ 0.
READ TABLE IT_MATCH INDEX 1.
MOVE IT_MATCH-FIELDVAL TO KD_SGTXT-LOW.
ENDIF.Comentario
Comentario