Wednesday, August 31, 2022

Python - borrar lineas extra de archivos .txt en un directorio

 Aqui el codigo Python para borrar lineas extra en un archivo plano:


import os

path = "c:\\temp"

path_new='c:\\temp\\CleanFiles'

for x in os.listdir():

  if x.endswith('.txt'):

# Prints only text file present in My Folder

    print(x)

    f = open(x)

    new_file_str = path_new + '\\' + x

    f_new = open(new_file_str,'w')

    line = f.readline()

   # include newline

    while line:

      transfer_line = True

      line = line.rstrip()

  # strip trailing spaces and newline

      if  line == "":

        transfer_line = False

      if  transfer_line == True:

        line_new = line + '\n'

        f_new.write(line_new)

      line = f.readline()

    f.close()

    f_new.close()

Monday, December 14, 2020

SAP Queries and Quickviewer

 ABAP: How to convert a quickviewer to a query

1.- Go to SQ01

2.- Make sure your're in the standard area.


3.- Menu Query -> Convert Quickviewer




4.- Enter info:

5.- Query created







Wednesday, April 10, 2019

What type of "influencer" are you?

After a quick google search, I'm glad to understand better what I was supposing: most of us on the internet are local/nano influencers!

Whatever you think you are - speaking about social media - you can feel proud o shame about this classification:

MEGA Influencer: over 1 million followers.

Macro Influencer: between 10,000 and 999,999 followers.

Micro Influencer: between 1,000 and 9,999 followers.

Local/Nano influencer: under 1,000 followers.

Here a couple of sources about this data:

4 Types of Influencers and How They Can Help Your Business

Social Media Influencers: Mega, Macro, Micro or Nano





Saturday, April 21, 2018

Seguridad en la internet tip #1 - Sesion Incognito/InPrivate/Private

En estos ultimos dias, ha ocurrido una suerte de escandalo con Facebook po el hecho de "enterarnos" de que este ultimo compartia/vendia nuestra informacion a terceros incluyendo nuestros correos electronicos, cumpleaños y hasta nuestros contactos (!!!).

Para que sirve este escandalo? para, entre otras cosas recordarnos que siempre o casi siempre hay alguien mirando o tratando de mirar que cosas hacemos o visitamos mientras utilizamos un web browser.

Como respuesta a esta invasion a nuestra privacidad, las compañias de software que tienen este tipo de aplicaciones han creado una forma de navegar por la internet de forma parcialmente anonima, conocida en ingles como navegacion modo incognito o privado.

No es la solución perfecta, pero provee una forma de preservar nuestra privacidad al navegar.

Este modo de navegación no elimina la traza que dejamos en las paginas que visitamos o en los logs del ISP que utilizamos, pero contribuye a que no dejemos rastro en el equipo terminal (Laptop, PC, Tablet, Tlf.) que usamos para navegar.

Los archivos temporales de internet y las malqueridas cookies solo persisten durante el tiempo que tengamos la ventana de browser en modo incognito abierta.  Una vez que la cerramos, el historial de navegacion desaparece.

Es algo bueno? si, es algo no tan bueno? también.  Queda en cada quien determinar que cosas se guardan para la historia y cuales no, jeje.

Ahora, como empezar a navegar en modo privado o incognito?

Para Microsoft Edge:


Y se muestra una ventana como la siguiente: 

Para Chrome:

Modo Incognito:

Para Firefox:

Modo privado:



Tambien se puede incluir un shortcut o acceso directo en el escritorio para siempre abrir una ventana modo incognito.

Puede parecer tedioso pero es importante abrir una combinacion ventana/tab por separado, abrir varios tabs en la misma ventana incognito puede llevar a que se comparta informacion entre diferentes websites, como que estes buscando pantalones Levis en amazon y luego te aparezca publicidad de Levis en tu sidebar de Facebook....







Friday, March 16, 2018

Sticky notes - I

- ABAP Program for converting spool output to PDF: RSTXPDFT4

- Function module for converting timestamp to date + time: IB_CONVERT_FROM_TIMESTAMP.

- Function module for converting date + time to timestamp: IB_CONVERT_INTO_TIMESTAMP.


- Add Custom Field to Purchase Requisition here


- Mapping of the ABAP Data Types: ABAP Dictionary type vs. ABAP type: here.


- List of SAP icons: ABAP program SHOWICON, via tcode SE38.


- Find string in ABAP programs: RPR_ABAP_SOURCE_SCAN vis SE38


- Refresh ALV buffer: ABAP Program BALVBUFDEL, via tcode SE38.




Wednesday, October 18, 2017

SAP ABAP: Search help for file name

Every time we work on an interface using flat files, excel files, pdf's always we have to deal with the parameter file name in order to provide a storage or reading path to the user in order to process the files.

Here a handy function module that shows the local or server directory depending on the location we specify.

datal_path       type dxfields-longpath,
      l_o_path       type dxfields-longpath.

l_path ch_path.

CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
 EXPORTING
    I_LOCATION_FLAG       im_location
*   I_SERVER              =
    I_PATH                l_path
*   FILEMASK              = '*.*'
*   FILEOPERATION         = 'R'
 IMPORTING
*   O_LOCATION_FLAG       =
*   O_SERVER              =
    O_PATH                l_o_path
    ABEND_FLAG            ex_abend_flag
 EXCEPTIONS
   RFC_ERROR             1
   OTHERS                2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ch_path l_o_path.



 I_LOCATION_FLAG "A" for application server, "P" for presentation server.

Inside this function module, the method cl_gui_frontend_services-file_open_dialog and the function module F4_DXFILENAME are called, which are the ones used commonly when we work with file systems.


This post is a courtesy from Carlos Castro.



SAP ABAP: Ayuda para busqueda de archivos

Cada vez que trabajamos en una interfaz usando archivos planos, archivos de excel, o pdf's siempre tenemos que lidiar con el nombre del archivo de parámetros para proporcionar una ruta de almacenamiento o lectura al usuario para procesar los archivos.

Aquí hay un práctico módulo de funciones que muestra el directorio local o del servidor según la ubicación que especifiquemos.



datal_path       type dxfields-longpath,
      l_o_path       type dxfields-longpath.

l_path ch_path.

CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
 EXPORTING
    I_LOCATION_FLAG       im_location
*   I_SERVER              =
    I_PATH                l_path
*   FILEMASK              = '*.*'
*   FILEOPERATION         = 'R'
 IMPORTING
*   O_LOCATION_FLAG       =
*   O_SERVER              =
    O_PATH                l_o_path
    ABEND_FLAG            ex_abend_flag
 EXCEPTIONS
   RFC_ERROR             1
   OTHERS                2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ch_path l_o_path.

I_LOCATION_FLAG "A" para el servidor de aplicaciones, "P" para el servidor de presentación.

Dentro de este módulo de función, se invocan el método cl_gui_frontend_services => file_open_dialog y el módulo de funciones F4_DXFILENAME, que son los que se usan comúnmente cuando trabajamos con sistemas de archivos.


Esta publicación es cortesía de Carlos Castro.

Python - borrar lineas extra de archivos .txt en un directorio

 Aqui el codigo Python para borrar lineas extra en un archivo plano: import os path = "c:\\temp" path_new='c:\\temp\\CleanFile...