Ir al contenido

Mensajes recientes

#41
Programación ABAP / Re:DUDA - Seguridad en gui sap
Último mensaje por FuryNocturn - 19 Dic 2017, 12:21
si pero si se desactiva los malware que atacan a sap podrían ejecutarse, es mejor crear la regla para una carpeta en concreto que es lo que realize, de esa manera solo abres esa carpeta y el resto del equipo queda protegido. gracias por tu ayuda.
#42
Programación ABAP / Re:DUDA - Seguridad en gui sap
Último mensaje por Nuria - 18 Dic 2017, 15:58
Yo creo que te refieres a la imagen que te adjunto.




Prueba y nos dices.




#43
Programación ABAP / DUDA - Seguridad en gui sap
Último mensaje por FuryNocturn - 18 Dic 2017, 10:06
buenas tengo un programa que genera un xml y tiro el modulo para que lo guarde en mi equipo. el tema esta, cadavez que se ejecuta pide permisos, doy a retener decision y si es sobrescribir si me la mantiene si es para hacer uno nuevo con otro nombre me vuelve a pedrir permiso.

hay algun codigo que pueda añadir a mi programa que evite esa pregunta.
el decir al cliente que entre en las opciones de sap y cree una regla de permitir en cierta carpeta no me vale.
#44
Programación ABAP / Re:AYUDA - cojer 3 caracter de...
Último mensaje por FuryNocturn - 14 Dic 2017, 17:50
PODÉIS CERRAR TEMA RESUELTO.
#45
Programación ABAP / SOLUCIONADO LISTO PARA CERRAR ...
Último mensaje por FuryNocturn - 14 Dic 2017, 17:49
gracias revisando el código con la info que me distes me di cuenta que el primer if que es el que dice si hay registro al no aver llamaba al error sin cargar y solo carga cuando procesa datos el método. por eso es imposible poner esa sentencia así que busque otra. ya me funciona usando el mensaje mostrando texto de tipo s pero con aspecto de tipo e.

message text-e01 type 'S' display like 'E'." INTO lv_error_txt.

y así si me hace la advertencia y no se sale del programa permitiendo modificar la variable. gracias. ya termine este proyecto


ahora a por el siguiente.
#46
Programación ABAP / Re:ayuda - RAWSTRING
Último mensaje por Carlos - 14 Dic 2017, 17:37
La clase CX_ROOT es la clase más alta de todas las clases de excepción.

Mira en tu DUMP que excepción te esta devolviendo.

Este ejemplo te puede ayudar... TRY CATCH – Ejemplo básico de excepción


#47
Programación ABAP / Re:ayuda - RAWSTRING
Último mensaje por FuryNocturn - 14 Dic 2017, 16:03
Resuelto la mayor parte.

data: gs_edocumentfile      type edocumentfile,
      lo_xml                type ref to cl_xml_document,
      lo_error              type ref to if_ixml_parse_error,
      lv_xml_error          type string,
      lv_error_txt          type string,
      iv_xml_string         type xstring.


parameter gv_key(32) type c.

select single *
    from edocumentfile
    into gs_edocumentfile
    where edoc_guid = gv_key and
          file_type = 'RESPONSE' .

iv_xml_string = gs_edocumentfile-file_raw.

check not iv_xml_string is initial.

create object lo_xml.
if lo_xml is bound.
  try.
      clear lv_xml_error.
      lo_xml->parse_xstring( exporting stream = iv_xml_string ).
      lo_error = lo_xml->get_last_parse_error( ).
      if lo_error is bound.
        lv_xml_error = lo_error->get_reason( ).
      endif.
      if lv_xml_error is initial.
******************************************
        lo_xml->display( ).
        lo_xml->export_to_file( 'C:\Users\fernandt\Documents\SAP\TEM.xml' ).
******************************************
      else.
        message e071(edocument) into lv_error_txt.
        cl_edocument=>raise_edoc_exception( ).
      endif.

    catch cx_root.
      message e071(edocument) into lv_error_txt.
      cl_edocument=>raise_edoc_exception( ).
  endtry.
endif.


lo que me falla es esto 
catch cx_root.
      message e071(edocument) into lv_error_txt.
      cl_edocument=>raise_edoc_exception( ).


me tira damn y me cierra todo.
#48
Programación ABAP / ayuda - RAWSTRING
Último mensaje por FuryNocturn - 12 Dic 2017, 17:53
buenas tengo en una tabla un campo con un dominio que tiene RAWSTRING en el hay yna cadena '3C53756D696E697374726F4C524C53756D696E69737C53756D696E697373A7072783D22C53756D696E69737361C53756D696E6973770726F78793A4D' "es el principio del código pero repetido para que se vea mas o menos la largura del campo

desde una transacción de sap al darle a un icono me carga un xml. se supone que esta linea es ese xml. mi pregunta que método se usa para transformar esta linea en el xml?
he probado con este método CL_HTTP_UTILITY=>IF_HTTP_UTILITY~DECODE_BASE64 pero sin resultado. la cadena en concreto no puedo pasarlo pues tiene datos delicados.
#49
Programación ABAP / Re:AYUDA - cojer 3 caracter de...
Último mensaje por FuryNocturn - 12 Dic 2017, 17:36
gracias ya lo resolvi. despues de darle una tarde entera al coco me salio esto codigo.

IF gs_datos_xls-sueldo CA '0123456789'.
    SHIFT gs_datos_xls-sueldo RIGHT DELETING TRAILING space.

    IF gs_datos_xls-sueldo+12(1) = ','.

      DO 2 TIMES.
        REPLACE '.' IN gs_datos_xls-sueldo WITH '' .
      ENDDO.

      SHIFT gs_datos_xls-sueldo RIGHT DELETING TRAILING space.
      REPLACE ',' IN gs_datos_xls-sueldo+12(1) WITH '.' .

      IF gs_datos_xls-sueldo+8(1) = ','.
        gv_nerror = 5.
        gs_datos-sueldo = ''.
      ELSE.
        gv_nerror = 3.
        gs_datos-sueldo = gs_datos_xls-sueldo.
      ENDIF.

    ELSEIF gs_datos_xls-sueldo+12(1) = '.'.

      DO 2 TIMES.
        REPLACE ',' IN gs_datos_xls-sueldo WITH '' .
      ENDDO.

      SHIFT gs_datos_xls-sueldo RIGHT DELETING TRAILING space.

      IF gs_datos_xls-sueldo+8(1) = '.'.
        gv_nerror = 5.
        gs_datos-sueldo = ''.
      ELSE.
        gv_nerror = 0.
        gs_datos-sueldo = gs_datos_xls-sueldo.
      ENDIF.

    ELSE.
      IF gs_datos_xls-sueldo = 0.
        gv_nerror = 4.
        gs_datos-sueldo = gs_datos_xls-sueldo.
      ELSE.
        gv_nerror = 0.
        gs_datos-sueldo = gs_datos_xls-sueldo.
      ENDIF.
    ENDIF.
  ELSE.
    IF gs_datos_xls-sueldo = ''.
      gv_nerror = 2.
    ELSE.
      gv_nerror = 1.
    ENDIF.
    gs_datos-sueldo = ''.
  ENDIF.
#50
Programación ABAP / Re:AYUDA - cojer 3 caracter de...
Último mensaje por molaci - 12 Dic 2017, 09:40
Hola, prueba con la instrucción STRLEN que te devuelve la longitud de tu campo.

El código podría ser algo así... Y como tienes en tu código comprueba antes si viene una coma (,) punto (.), etc...



DATA: lf_long TYPE i. 
DATA: lf_pos  TYPE i.
DATA: lf_part1(10).
DATA: lf_part2(10).

lf_long  = STRLEN( tu_importe ).
lf_pos   = lf_long - 3.
lf_part1 = tu_importe(lf_pos).
lf_part2 = tu_importe+lf_pos(3).

CONCATENATE lf_part1 '.' lf_part2 INTO tu_importe.