Éstos últimos se caracterízan por ser un dato maestro genérico el cual se usa en la contabilización del documento, cuando se introducen los datos en el documento, al incluir el número del CPD, aparece una primera pantalla para incluir sus datos, nombre, dirección, NIF...
Podemos hacer que el CPD genérico tenga algunos campos obligatorios, opcionales o no visibles por definición de campos del grupo de clientes CPD, pero éstas definiciones no aplican al dato que introducimos en el documento contable.
Es decir, si por estructura de pantalla informar el NIF como obligatorio, lo será en el dato maestro genérico, pero no en el dato introducido en el documento.
La validación se realiza a nivel posición. si tus compañías comienzan por el nombre ES* es01, es02, es03... O RR01, RR02... puedes poner asterisco, si no, tendrás que poner un (NA01 OR CE02 OR TR00) y a continuación el código.
Creas un nuevo paso con los siguientes datos.
En prerrequisito
BKPF-BUKRS LIKE 'ES*' AND
BSEG-KOART = 'D' AND
BSEG-XCPDD = 'X'
check incluiremos una exit.
Código de la exit (programa ZRGGBR000) la exit se debe definir en get_exit_titles y
FORM zu08 USING b_result. " SII Spain - Check tax field
FIELD-SYMBOLS : <fs_bsec> TYPE bsec.
ASSIGN ('(SAPMF05A)BSEC') TO <fs_bsec>.
IF NOT <fs_bsec> IS ASSIGNED.
ASSIGN ('(SAPLFACI)XBSEC') TO <fs_bsec>.
ENDIF.
b_result = b_true.
IF <fs_bsec> IS ASSIGNED.
IF bseg-stceg IS INITIAL
AND <fs_bsec>-stcd1 IS INITIAL
AND <fs_bsec>-stcd2 IS INITIAL
AND <fs_bsec>-stcd3 IS INITIAL
AND <fs_bsec>-stcd4 IS INITIAL
AND <fs_bsec>-stcd5 IS INITIAL.
* If all value are empty ==> error
* At least one value must be filled
b_result = b_false. "==> error
ENDIF.
ENDIF.
En mensaje, incluiremos un E error o W warning, usaremos un código de mensaje existente o crearemos uno nuevo.
Ejemplo: INFORMA EL NIF DE UNA VEZ HOMBRE YAAA! (posible dramatización).
Ya tienes el NIF de tu CPD validado para que al menos uno de los campos NIF estén informados.
No hay comentarios:
Publicar un comentario