|
#1
|
|||
|
|||
Hola oscarzaid, Lo que yo realice es por medio de una función que llama al smarform obtener el codigo de barra. Por ejmplo la funcion se llamo:Z_SDMF_ARMA_CODIGO_DE_BARRA dentro de la funcion entre otras cosas.... obtengo CUIT CODIGO XBLNR CAE Te copio el codigo de la función y decile a tu programador que realice esto: FUNCTION z_sdmf_arma_codigo_de_barra. *"---------------------------------------------------------------------- *"*"Interfase local *" IMPORTING *" REFERENCE(EX_BUKRS) TYPE VBRK-BUKRS *" REFERENCE(EX_FKART) TYPE VBRK-FKART *" REFERENCE(EX_XBLNR) TYPE VBRK-XBLNR *" REFERENCE(EX_VBELN) TYPE VBRK-VBELN *" EXPORTING *" REFERENCE(IM_CODBAR) TYPE ZSDES0008 *"---------------------------------------------------------------------- TYPES: BEGIN OF tyl_cae, cae_num TYPE j_1acae-cae_num, cae_duedate TYPE j_1acae-cae_duedate, END OF tyl_cae. DATA: wl_cae TYPE tyl_cae. DATA: vl_codigo TYPE j_1aotdet-j_1aoftp, vl_cat_doc TYPE j_1aotdet-j_1adoccls, vl_cuit TYPE t001z-paval, vl_codbar_aux TYPE zsdde0031, vl_i TYPE i, vl_i2 TYPE i, vl_digito TYPE i, vl_suma_par TYPE i, vl_suma_impar TYPE i, vl_dig TYPE c LENGTH 1. * Recupero el CUIT de la sociedad SELECT SINGLE paval FROM t001z INTO vl_cuit WHERE bukrs = ex_bukrs AND party = 'J1AIDN'. * Recupero el código del documento CALL FUNCTION 'Z_SDMF_LEE_CODIGO_DOCUMENTO' EXPORTING ex_fkart = ex_fkart ex_letra = ex_xblnr+4(1) IMPORTING im_codigo = vl_codigo im_cat_doc = vl_cat_doc. * Recupero el CAE/CAEA y su vencimiento SELECT SINGLE cae_num cae_duedate INTO wl_cae FROM j_1acae WHERE cae_ref = ex_vbeln. CONCATENATE vl_cuit vl_codigo ex_xblnr(4) wl_cae-cae_num wl_cae-cae_duedate INTO im_codbar-codbar. CONDENSE im_codbar-codbar. * Genero el código verificador vl_codbar_aux = im_codbar-codbar. vl_i = 1. DO. IF vl_codbar_aux(1) EQ ' '. EXIT. ENDIF. vl_i2 = vl_i MOD 2. IF vl_i2 EQ 0. vl_suma_par = vl_suma_par + vl_codbar_aux(1). ELSE. vl_suma_impar = vl_suma_impar + vl_codbar_aux(1). ENDIF. SHIFT vl_codbar_aux BY 1 PLACES. vl_i = vl_i + 1. ENDDO. vl_suma_impar = vl_suma_impar * 3. vl_suma_par = vl_suma_par + vl_suma_impar. vl_digito = vl_suma_par MOD 10. IF vl_digito NE 0. vl_digito = 10 - vl_digito . vl_dig = vl_digito. ELSE. vl_dig = vl_digito. ENDIF. CONCATENATE im_codbar-codbar vl_dig INTO im_codbar-codbar_cv. |
#2
|
|||
|
|||
Gracias por tu respuesta amigo SSSS.
De hecho el smartform sale bien, es decir, en la Vista Previa puedo ver el código de barras, pero al mandarlo a imprimir en papel es cuando obtengo la cadena de información, creo que vá más por el tema del driver de la impresora SWIN o SAPWIN... Como quiera intentaré esa solución, gracias. Saludos, |
Herramientas | Buscar en Tema |
Desplegado | |
|
|