Archivo
Select dinámico con Field-Symbols
Caso: se desea realizar un Select utilizando variables en las condiciones
Solución: usamos un select dinámico. Ver que para filtrar campos caracteres se agregan doble comillas simples.
REPORT zselect_dinamico. DATA: lt_ekko TYPE TABLE OF ekko, lc_tabname TYPE tabname, lc_tabint TYPE tabname, lc_where TYPE string. FIELD-SYMBOLS: <fs_tab> TYPE STANDARD TABLE, <fs_it> TYPE STANDARD TABLE. lc_tabname = 'EKKO'. lc_tabint = 'LT_EKKO'. lc_where = 'BUKRS EQ 1000 AND BSART EQ ''NB'''. ASSIGN (lc_tabint) TO <fs_it>. REFRESH <fs_it>. SELECT * INTO TABLE <fs_it> FROM (lc_tabname) WHERE (lc_where).
Fieldsymbols – Uso simple en T16FS
Caso: se desea acceder a cada campo donde se encuentran los códigos de liberación de la tabla T16FS (Estrategias de liberación).
Solución: usamos fieldsymbols para dinámicamente acceder a cada campo numerado del 1 al 8.
FIELD-SYMBOLS: <fs>. DATA: lw_t16fs type t16fs, lc_cant TYPE c, lc_variable TYPE string. SELECT SINGLE * INTO lw_t16fs FROM t16fs WHERE frggr = lw_ekko-frggr " Grupo de liberación AND frgsx = lw_ekko-frgsx. " Estrategia liberación DO 8 TIMES. WRITE sy-index TO lc_cant. CONCATENATE 'LW_T16FS-FRGC' lc_cant INTO lc_variable. ASSIGN (lc_variable) TO <fs>. WRITE /: 'Código de liberación:', lc_cant, '-', lc_variable, '. Valor:', <fs>. ENDDO.
Campos editables en VF02
Transacción: VF02
Caso: Campos editables en VF02, para poder modificarlos antes de contabilizar la factura.
Ejemplo: en mi caso tenía que dejar editable el campo “Cantidad facturada”
Parece que no se puede hacer, salvo modificando el estándar. Lo que pude hacer es entrar por la SE38 al include MV60AF0F_FELDAUSWAHL_SONDERREG
Ir al final del Include para agregar el siguiente código:
* Indico los campos a dejar editables è indicar los deseados IF SCREEN-NAME = 'VBRP-FKLMG' OR " Cantidad factura UME SCREEN-NAME = 'VBRP-BRGEW' or " Peso bruto SCREEN-NAME = 'VBRP-FKIMG' OR " Cantidad facturada SCREEN-NAME = 'VBRP-NTGEW'. " Peso neto * En mi condición, tenía que ser según un punto de venta y circuito IF SY-TCODE = 'VF02' " Transacción de Modificar factura and vbrk-FKART = 'ZFA1' " Tipo de factura and vbrk-xblnr(4) = '0008' " Sucursal/Punto de venta and vbrk-bukrs = '1000' " Sociedad AND VBRK-RFBSKNE 'C'. " La factura no está contabilizada SCREEN-INPUT = 1. "Campo editable MODIFY SCREEN. ENDIF. ENDIF.
Link: https://forums.sdn.sap.com/thread.jspa?threadID=1114948