Separar un texto largo cada X cantidad de char o por un símbolo de retorno de carro a una tabla

Esta función RKD_WORD_WRAP , nos permitirá partir un texto largo en X cantidad de caracteres y además podremos tener otro corte de control por un CHAR que le pasemos.

 

Ejemplo:

image

El resultado de esta corrida será una tabla de 7 registros, notese que si no existe el char de retorno de carro nos separará cada 5 chars, si encuentra el simbolo cortará en ese simbolo y comenzará otro renglón.

image

Pasar el signo negativo de la derecha a la izq

Esto puede resultar tonto, pero hay veces en que los clientes quieren que los números negativos tengan el signo a la izquierda y no a la der. Si bien esto podemos hacerlo trabajando con la cadena de caracteres hay una función que nos simplifica la vida.

CLOI_PUT_SIGN_IN_FRONT

Ejemplo:

image

Función para ver características y clasificaciones de un Material - Lote

La función QC01_BATCH_VALUES_READ nos permite ver facilmente las características de un Material-Lote

Le pasamos Material, Centro (opcional) y Lote. Además del idioma y fecha del día.

CALL FUNCTION 'QC01_BATCH_VALUES_READ'
EXPORTING
            I_VAL_MATNR    = I_DOCUMENT_DATA-MATNR
            I_VAL_WERKS    = I_DOCUMENT_DATA-WERKS
            I_VAL_CHARGE   = I_DOCUMENT_DATA-CHARG
            I_LANGUAGE     = I_LANGUAGE
            I_DATE             = I_DATE
IMPORTING
            E_CLASS             = L_CLASS
            E_CLASS_TYPE   = L_CLASS_TYPE
TABLES
            T_VAL_TAB        = L_VAL_TAB
            T_CHAR_TAB     = L_CHAR_TAB
            T_ATT_TAB       = L_ATT_TAB
EXCEPTIONS
            NO_CLASS              = 01
            INTERNAL_ERROR = 02
            NO_VALUES           = 03
            NO_CHARS             = 04.

Nos devuelve 3 tablas:

1- Tiene todas las características con valor ese Material-Lote

2- La siguiente nos pasa todas las características posibles que posee ese Material - Lote marcándonos cuales son las que están cargadas

3- La última posee los atributos técnicos de las características (si es numérico, char, etc)

Lista de materiales de un material en particular

Dejo esta lógica para obtener la lista de materiales de un material. Se que hay funciones para lograr lo mismo porque las he usado pero hoy en día no las tengo a mano.

* Funcion para traer el num de material en el formato del sistema
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
        EXPORTING
          input  = wa_archivo-material
        IMPORTING
          output = l_material.

SELECT SINGLE stlal stlnr
       INTO (wa_stlal, wa_stlnr)
       FROM mast
       WHERE matnr EQ l_material.

SELECT stlkn
       FROM stas
       INTO CORRESPONDING FIELDS OF TABLE it_stas
       WHERE stlnr EQ wa_stlnr AND
                   stlal EQ wa_stlal.
IF it_stas[] IS NOT INITIAL.
   SELECT idnrk posnr
        FROM stpo
        INTO CORRESPONDING FIELDS OF TABLE it_stpo
        FOR ALL ENTRIES IN it_stas
        WHERE stlnr EQ wa_stlnr AND
                   stlkn EQ it_stas-stlkn.
ENDIF.

En la tabla it_stpo el campo IDNRK es el número de material.