Ir al contenido

Mensajes recientes

#51
Programación ABAP / AYUDA - cojer 3 caracter del f...
Último mensaje por FuryNocturn - 11 Dic 2017, 16:59
buenas tengo que cojer el 3 caracter del final de una cadena.

el poblema es que el campo es de 15 posiciones typo c.
y lo que se registra en el valor que extrae de un XLS, el cual se corresponde con el sueldo del empleado.

el tema es que no todos ocupan lo mismo. uno cobra 750.25€ y otros cobra 2120.75€

lo que quiero es hacer que comprueve que el 3 caracter del final sea un '.' y si no lo es que ponga un '.'
aparte si contiene letras que no rellene ya que dara error.

este es el codigo que tengo por el momento.
FORM verificar_datos .
  CLEAR gs_datos_xls.
  LOOP AT gt_datos_xls INTO gs_datos_xls.
    REPLACE ',' WITH '.' INTO gs_datos_xls-sueldo.
    IF gs_datos_xls-sueldo CA '0123456789' "AND gs_datos_xls-sueldo NS ','
      .
      gs_datos-nombre     = gs_datos_xls-nombre.
      gs_datos-apellidos  = gs_datos_xls-apellidos.
      gs_datos-direccion  = gs_datos_xls-direccion.
      gs_datos-sueldo     = gs_datos_xls-sueldo.

    ELSE.
      gs_datos-nombre     = gs_datos_xls-nombre.
      gs_datos-apellidos  = gs_datos_xls-apellidos.
      gs_datos-direccion  = gs_datos_xls-direccion.
      gs_datos-sueldo     = ''.
      gs_datos-incorrecto = 'X'.
    ENDIF.

    APPEND gs_datos TO gt_datos.
    CLEAR: gs_datos, gs_datos_xls.
  ENDLOOP.
ENDFORM.                    " VERIFICAR_DATOS
#52
S/4HANA y ABAP Cloud / Ejemplo web con SAPUI5
Último mensaje por oscar - 01 Dic 2017, 12:26
¿Queréis ver un ejemplo de una web realizada con tecnología SAPUI5?

Nuestro amigo Marcos, nos la enseña...

Ejemplo SAPUI5




#53
ALV / Re:alv quitar ceros
Último mensaje por oscar - 11 Oct 2017, 15:23
Un tema que suele suceder es que si el campo que contiene los decimales es de tipo QUAN no quita esos decimales, la solución sería modificar en el catálogo el DATATYPE.

   
   <fs>-datatype     = 'DEC'.
   <fs>-decimals_out = 0.


#54
Programación ABAP / Re:Colorear celda de ALV
Último mensaje por oscar - 11 Oct 2017, 13:42
Un nuevo ejemplo para colorear celdas individualmente en un ALV_GRID...

REPORT zcolor_en_celdas.

* Type Pools *
TYPE-POOLS: slis.

* Tabla interna de prueba (se agrega el campo CELLCOLORS.
DATA: BEGIN OF r_alv,
        vbeln      TYPE vbeln,
        posnr      TYPE posnr,
        cellcolors TYPE lvc_t_scol,
      END OF   r_alv.
DATA: i_alv                 LIKE TABLE OF r_alv.

DATA: i_fieldcat TYPE slis_t_fieldcat_alv,
      r_layout   TYPE slis_layout_alv.

INITIALIZATION.

* TRAIGO ALGUNOS DATOS
  REFRESH i_alv.
  SELECT vbeln posnr
    FROM vbap
    INTO CORRESPONDING FIELDS OF TABLE i_alv
    WHERE vbeln = '0005101265'.
  SORT i_alv BY posnr.

* CARGO FIELDCAT.
  REFRESH i_fieldcat.
  PERFORM f_init_fieldcat     TABLES i_fieldcat.

* LAYOUT, AGREGO COLORES DEPENDIENDO DE LA CELDA
  CLEAR r_layout.
  PERFORM f_init_layout       CHANGING r_layout.

* ALV GRID
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program      = sy-repid
      i_callback_user_command = 'F_USER_COMMAND_01'
      is_layout               = r_layout
      it_fieldcat             = i_fieldcat[]
    TABLES
      t_outtab                = i_alv
    EXCEPTIONS
      program_error           = 1
      OTHERS                  = 2.
  IF sy-subrc <> 0.
    EXIT.
  ENDIF.

*&---------------------------------------------------------------------*
*&      Form  f_init_fieldcat
*&---------------------------------------------------------------------*
FORM f_init_fieldcat  TABLES ptc_fieldcat TYPE slis_t_fieldcat_alv.
* LOCAL WORKAREA AND VARIABLE
  DATA: r_fieldcat TYPE slis_fieldcat_alv,
        l_pos      TYPE i VALUE 0.

  CLEAR r_fieldcat.
  l_pos = l_pos + 1.
  r_fieldcat-col_pos       = l_pos.
  r_fieldcat-fieldname     = 'VBELN'. "VBELN
  r_fieldcat-tabname       = 'I_ALV'.
  r_fieldcat-seltext_l     = 'VBELN'.
  APPEND r_fieldcat TO ptc_fieldcat.

  CLEAR r_fieldcat.
  l_pos = l_pos + 1.
  r_fieldcat-col_pos       = l_pos.
  r_fieldcat-fieldname     = 'POSNR'. "POSNR
  r_fieldcat-tabname       = 'I_ALV'.
  r_fieldcat-seltext_l     = 'POSNR'.
  APPEND r_fieldcat TO ptc_fieldcat.

ENDFORM.                    " f_init_fieldcat

*&---------------------------------------------------------------------*
*&      Form  f_init_layout
*&---------------------------------------------------------------------*
FORM f_init_layout  CHANGING playout TYPE slis_layout_alv.
* Variables
  DATA l_color               TYPE lvc_s_scol.

* Field-Symbols
  FIELD-SYMBOLS <fs_report>  LIKE LINE OF i_alv.

* ASIGNAMOS EL CAMPO CELLCOLORS AL LAYOUT
  playout-coltab_fieldname  = 'CELLCOLORS'.

  UNASSIGN <fs_report>.
  LOOP AT i_alv ASSIGNING <fs_report>.
    CASE <fs_report>-posnr.
      WHEN '000011'.
        l_color-fname = 'POSNR' .
        l_color-color-col = '6'. "ROJO
        l_color-color-int = '1'. "INTENSIDAD
        l_color-color-inv = '0'. "INVERSO
        APPEND l_color TO <fs_report>-cellcolors.

      WHEN '000013'.
        l_color-fname = 'POSNR' .
        l_color-color-col = '3'. "AMARILLO
        l_color-color-int = '1'.
        l_color-color-inv = '0'.
        APPEND l_color TO <fs_report>-cellcolors.

      WHEN OTHERS.
        l_color-fname = 'POSNR' .
        l_color-color-col = '1'. "AZUL
        l_color-color-int = '1'.
        l_color-color-inv = '0'.
        APPEND l_color TO <fs_report>-cellcolors.
    ENDCASE.
  ENDLOOP.
ENDFORM.                    " f_init_layout

#55
Módulos funcionales y Basis / Re:IDOCS EDI - Error en Puerta...
Último mensaje por molaci - 20 Jul 2017, 08:44
Hola, yo no estoy muy puesto en IDOCS pero mira este enlace a ver si te sirve de ayuda... https://danielpanaro.wordpress.com/tag/we20/

Saludos!
#56
Hola Buenas Tardes.

Estoy realizando pruebas referente a los IDOCS correspondientes a Extractos Bancarios y cuando ejecuto el programa en la WE20 me aparecen con el siguiente error.  EDI: la puerta receptora del reg.control no es válida. En la transacción WE21 tengo configurada la puerta A000000005 Puerto Para Idoc Destino RFC R3P. No se si me falta configurar algo de esa puerta.

Por favor si les a pasado, por favor ayúdenme.  ???
#57
Código para compartir / Funciones para Archivo Plano y...
Último mensaje por lucelly - 14 Jul 2017, 03:34
Hola necesito ayuda con un reporte que debo construir el cual me piden que descargue un archivo excel con una información especifica y un archivo plano con otra información por favor si me brindan explicación se los agradecería
#58
Varios y enlaces / Descargar SAP GUI o parches
Último mensaje por Carlos - 17 Nov 2016, 17:39
Hay un sitio WEB llamado Easy Service Marketplace, donde están los links necesarios para descargar el SAP GUI y sus parches.

El link al sitio es: http://www.easymarketplace.de

Específicamente el SAPGUI se encuentra en: http://www.easymarketplace.de/SAPgui-Patches.php

#59
S/4HANA y ABAP Cloud / Re:Novato queriendo aprender A...
Último mensaje por evazquez - 21 Oct 2016, 19:33
Hola, buen día amigo.

Si quieres aprender ABAP necesitas un ambiente para realizar las pruebas. Estos ambientes normalmente los encuentras en las empresas que han comprado SAP.

Hay una versión ligera que se llama MiniSAP. Y la puedes encontrar en la red. Te sirvirá para iniciar con tus primeros programas ABAP, porque es un ambiente limpio y sin datos.

Tambien existe el ambiente IDES. Que tiene todos los módulos SAP ( MM, SD, FI, etc ) y es siguiente nivel, porque ya tiene vistas y datos. Aunque tambien puedes iniciar desde cero con el ambiente IDES.

Tengo el ambiente IDES en una máquina virtual que instalé bajo windows server 2008, el cual te puedo vender a un buen precio.

O si deseas un ambiente de pruebas en linux, tambien puedo crearte una máquina virtual.

Saludos amigo.
#60
Programación ABAP / Pasar un SELECT OPTIONS a un M...
Último mensaje por Carlos - 17 Oct 2016, 15:47
Alguna vez nos han indicado volcar un programa a una función y a la hora de pasar los Select Options de la pantalla de selección nos entra la duda de como hacerlo.

En principio es bastante sencillo.

Nos imaginamos que tenemos en nuestra pantalla de selección de nuestro programa:

SELECT-OPTIONS: so_bukrs   FOR ekpo-bukrs,
                so_matnr   FOR mara-matnr.


Nos declaramos en nuestra función y en la pestaña de tablas lo siguiente:

s_bukrs LIKE BAPI_RANGESBUKRS
s_matnr LIKE BAPI_RANGESMATNR


Y realizamos la llamada...



CALL FUNCTION 'ZTU_FUNCION'
    TABLES
      s_bukrs = so_bukrs
      s_matnr = so_matnr
      ti_alv  = gt_alv.



Y dentro de nuestra nueva función ya podemos copiar y pegar nuestro programa y devolver "por ejemplo" nuestra tabla interna del ALV.




Puedes buscar este tipo de estructuras en la SE11...

BAPI_RANGESAUDAT
BAPI_RANGESBLDAT
BAPI_RANGESBSTKD
BAPI_RANGESBSTNK
BAPI_RANGESBUKRS
BAPI_RANGESCASVBELN
BAPI_RANGESEKGRP
BAPI_RANGESEKORG
BAPI_RANGESEQTYP
BAPI_RANGESEQUNR
BAPI_RANGESKDMAT
BAPI_RANGESKIDNO
BAPI_RANGESKTAAR
BAPI_RANGESKTAST
BAPI_RANGESKUNNR
BAPI_RANGESLFART
BAPI_RANGESLIFNR
BAPI_RANGESMATNR
BAPI_RANGESPARNR
BAPI_RANGESPOSTX
BAPI_RANGESRFBSK
BAPI_RANGESSETTLDATE
BAPI_RANGESSPART
BAPI_RANGESUSECASE
BAPI_RANGESVKBUR


etc...