PREGUNTA PARA CONFIRMACION

posted under by Luis Rolando
ESTA FUNCION AYUDA A PREGUNTAR ALGUNA CONFIRMACION POR SI SE QUIERE GUARDAR O BORRAR ALGO ETC.

Requerimientos (top)
DATA: ANTWORT(1) TYPE C.

Requerimientos (codigo)

CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
TITEL = 'Atencion'
TEXTLINE1 = '¿Esta seguro de borrar este registro?'
TEXTLINE2 = PREGUNTA
IMPORTING ANSWER = ANTWORT.


los tipos de respuesta son "A" para cancelar "J" y "N" para no

IF ANTWORT = 'J'.
DELETE
FROM ZAV_T0002
WHERE ID_PROVEEDOR = ZAV_T0002-ID_PROVEEDOR.

IF SY-SUBRC = 0.
MESSAGE I005.
PERFORM CLEAR_T0002.
ELSE.
MESSAGE I008.
ENDIF.
ELSE.

ENDIF.

Search Help dinamico

posted under by Luis Rolando
Para hacer filtros en un search help tomando en cuenta otro dato de un campo en la pantalla por ejemplo en mi caso lo use para tomar los pedidos vigentes y solo desplegar los que no han sido terminados, el pedido actual y los que no han sido terminados para capturar la producción de un día y también use este procedimiento para filtrar las maquinas que le corresponden a un empleado

Requerimientos (Flow logic)


PROCESS BEFORE OUTPUT.

PROCESS AFTER INPUT.

PROCESS ON VALUE-REQUEST.
FIELD ZRF_T0017-ID_OT MODULE OTVALID.

Requerimientos (top)

DATA: begin of itab occurs 0,
value(70),
end of itab.

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.

DATA: SCREEN_VALUES TYPE TABLE OF DYNPREAD WITH HEADER LINE .





Dentro del input del value request

Primero leer el dato que se usara para el filtro con la siguiente función

APPEND 'ZRF_T0018-CANT_PDN_X' TO SCREEN_VALUES.

CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = 'ZRF_0117'
dynumb = '0119'
TABLES
DYNPFIELDS = SCREEN_VALUES.

READ TABLE SCREEN_VALUES INDEX 1 INTO SCREEN_VALUES.
ZRF_T0018-CANT_PDN_X = SCREEN_VALUES-FIELDVALUE .

REFRESH SCREEN_VALUES.
CLEAR SCREEN_VALUES.


se genera el query de itab para desplegarse en el search help

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'ID_CAUSA' el campo a importar
WINDOW_TITLE = 'DEFECTOS DE PRODUCCION' titulo del search help
VALUE_ORG = 'S' s structur c clumn
TABLES
VALUE_TAB = ITAB tabla interna a mostrar
RETURN_TAB = IT_MATCH trae el dato para importar


IF SY-SUBRC EQ 0.
READ TABLE IT_MATCH INDEX 1.
MOVE IT_MATCH-FIELDVAL TO ZRF_T0018-ID_CAUSA. manda el dato a importar

ENDIF.
ENDIF.


si desea que se ejecute una función después de haber traído el dato al campo posiblemente no se despliegue en pantalla para eso es necesario usar la siguiente funcion cargando previamente la informacion necesaria en la tabla dynpfields (véase el tipo de dato del value, posiblemente se necesite transformar el dato que se desea desplegar)


se genera el query que se necesita después del search help dinámico y se manda a una tabla en forma de cola


move 'TOT_OT_MES' to dynpfields-fieldname.
move TOT_OT_MES to dynpfields-fieldvalue.
append dynpfields.

clear dynpfields-fieldname.
clear dynpfields-fieldvalue.

TOT_OT_MES = ZRF_T0030-CANTIDADXPROD.
move 'ZRF_T0030-CANTIDADXPROD' to dynpfields-fieldname.
move TOT_OT_MES to dynpfields-fieldvalue.
append dynpfields.

clear dynpfields-fieldname.
clear dynpfields-fieldvalue.

TOT_OT_MES = RESTAN.
move 'RESTAN' to dynpfields-fieldname.
move TOT_OT_MES to dynpfields-fieldvalue.
append dynpfields.


CALL FUNCTION 'DYNP_VALUES_UPDATE'

EXPORTING

dyname = sy-cprog
dynumb = sy-dynnr

TABLES

dynpfields = dynpfields.


ENDFORM. "TAEMETA INPUT

top