You are on page 1of 7

ESPECIFICACIN TCNICO FUNCIONAL Logo cliente

AADIR CAMPO A LA TRANSACCIN FBL5N

Funcionalidad.
Objetivo del desarrollo

Este manual aplica en caso de querer incorporar un campo nuevo a las


transaccin FBL5N o similares (FBL1N y FBL3N). Los casos ms
frecuentes es aadir el campo del nombre del cliente, su direccin, el
comisionista o el cobrador.

Solucin.

La solucin est encarada a travs de la implementacin de una user-


exit y la ampliacin de una estructura de SAP. Es decir, que en caso de
necesitar esta solucin lo ideal es que la implemente un programador
ABAP/4.

En caso de necesitar un mayor detalle consultar la nota 569939.

Pasos para aadir un campo:

1. Es necesario realizar append en estructura RFPOSX con el campo


ZZNAME1.
(Trx SE11)
Luego de modificar la tabla. ACTIVAR

Aadir a la estructura RFPOS


Activar

2. Ejecutar el repport en la transaccin SE38 RFPOSXEXTEND de tal


manera que se genere la estructura RFPOSXEXT.

3. Crear una xit BTE. Para ello el primer paso es copiar el mdulo de
funciones sample_interface_00001650 en el mdulo de funciones
Z_SAMPLE_INTERFACE_00001650. Ms abajo se facilita un ejemplo de
cmo realizar la user-exit para aadir el nombre del cliente.
ESPECIFICACIN TCNICO FUNCIONAL Logo cliente

4. Una vez creada el mdulo de funciones hay que ir a la transaccin


FIBF. Opciones _ Mdulos P/S _ de una aplicacin SAP. Crearemos la
entrada con en el evento 00001650 y aadiremos el mdulo de
funciones z_sample_interface_00001650.

Luego de transportadas las ordenes a QAS /PRD:


Debes correr el programa RFPOSXEXTEND que actualiza la RFPOS.
ESPECIFICACIN TCNICO FUNCIONAL Logo cliente
ESPECIFICACIN TCNICO FUNCIONAL Logo cliente

Ejemplo BTE
Indicar tipo de archivo, estructuras, formatos numricos y de fechas

*"--------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" VALUE(I_POSTAB) LIKE RFPOS STRUCTURE RFPOS
*" EXPORTING
*" VALUE(E_POSTAB) LIKE RFPOS STRUCTURE RFPOS
*"--------------------------------------------------------------------
data: zname like lfa1-name1.

*-------------- Initialize Output by using the following line ----------


e_postab = i_postab.

* CHICV. SEIDOR. Aadir nombre a la visualizacin de partidas.

if e_postab-koart = 'D'.
select single name1 from kna1 into zname
where kunnr = e_postab-konto.
elseif e_postab-koart = 'K'.
select single name1 from lfa1 into zname
where lifnr = e_postab-konto.
endif.

if sy-subrc = 0.
e_postab-zzname1 = zname.
endif.
ESPECIFICACIN TCNICO FUNCIONAL Logo cliente

Otro ejemplo de cdigo:

FUNCTION ZFI_INTERFACE_00001650.
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" VALUE(I_POSTAB) LIKE RFPOS STRUCTURE RFPOS
*" EXPORTING
*" VALUE(E_POSTAB) LIKE RFPOS STRUCTURE RFPOS
*"----------------------------------------------------------------------

DATA: ZNAME LIKE LFA1-NAME1,


W_GJAHR LIKE BSEG-GJAHR,
W_LIFNR LIKE BSEG-LIFNR,
W_BELNR LIKE BSEG-BELNR,
W_USNAM LIKE BKPF-USNAM,
W_NIF LIKE LFA1-STCD1,
W_NIFCPD LIKE BSEC-STCD1,
W_AUGBL LIKE BSEG-AUGBL.

DATA: BEGIN OF T_FAGLFLEXA OCCURS 0.


INCLUDE STRUCTURE FAGLFLEXA.
DATA: END OF T_FAGLFLEXA.

*-------------- Initialize Output by using the following line ----------


E_POSTAB = I_POSTAB.

* SEIDOR. Aadir nombre a la visualizacin de partidas.


IF E_POSTAB-KOART = 'D'.
SELECT SINGLE NAME1 FROM KNA1 INTO ZNAME
WHERE KUNNR = E_POSTAB-KONTO.
IF SY-SUBRC = 0.
E_POSTAB-ZZNAME1 = ZNAME.
ENDIF.

ELSEIF E_POSTAB-KOART = 'K'.


SELECT SINGLE NAME1 FROM LFA1 INTO ZNAME
WHERE LIFNR = E_POSTAB-KONTO.
IF SY-SUBRC = 0.
E_POSTAB-ZZNAME1 = ZNAME.
ENDIF.
ENDIF.

*SEIDOR. Aadir RUC a la visualizacin de partidas.

IF E_POSTAB-KOART = 'D'.
SELECT SINGLE STCD1 FROM KNA1 INTO W_NIF
WHERE KUNNR = E_POSTAB-KONTO.
SELECT SINGLE STCD1 FROM BSEC INTO W_NIFCPD
WHERE BELNR = E_POSTAB-BELNR AND BUZEI EQ E_POSTAB-BUZEI.

ELSEIF E_POSTAB-KOART = 'K'.


SELECT SINGLE STCD1 FROM LFA1 INTO W_NIF
ESPECIFICACIN TCNICO FUNCIONAL Logo cliente

WHERE LIFNR = E_POSTAB-KONTO.


SELECT SINGLE STCD1 FROM BSEC INTO W_NIFCPD
WHERE BELNR = E_POSTAB-BELNR AND BUZEI EQ E_POSTAB-BUZEI.

ENDIF.

"IF sy-subrc = 0.
E_POSTAB-ZSTCD1 = W_NIF.
E_POSTAB-ZSTCD1_CPD = W_NIFCPD.
"ENDIF.

*SEIDOR. Aadir segmento a visualizacin de partidas.

IF E_POSTAB-KOART = 'D' OR E_POSTAB-KOART = 'K' OR E_POSTAB-KOART = 'S


'.

SELECT *
INTO CORRESPONDING FIELDS OF TABLE T_FAGLFLEXA
FROM FAGLFLEXA
WHERE RYEAR EQ E_POSTAB-GJAHR
AND DOCNR EQ E_POSTAB-BELNR
AND RLDNR EQ '0L'
AND RBUKRS EQ E_POSTAB-BUKRS.

LOOP AT T_FAGLFLEXA WHERE BUZEI = E_POSTAB-BUZEI.


IF T_FAGLFLEXA-SEGMENT NE ''.
E_POSTAB-ZZSEGMENT = T_FAGLFLEXA-SEGMENT.

SELECT SINGLE NAME INTO E_POSTAB-ZZDSEGMENT


FROM FAGL_SEGMT
WHERE LANGU EQ 'S'
AND SEGMENT EQ T_FAGLFLEXA-SEGMENT.

CONCATENATE E_POSTAB-ZZSEGMENT+8(2) '-' E_POSTAB-ZZDSEGMENT INTO


E_POSTAB-ZZDSEGMENT.

ENDIF.
ENDLOOP.

ENDIF.

ENDFUNCTION.

Observaciones adicionales
Notas adicionales
ESPECIFICACIN TCNICO FUNCIONAL Logo cliente

You might also like