FUNCIONES
- SE37
|
DESCRIPCION
|
|
ALV
|
HR_DISPLAY_BASIC_LIST
|
ALV
|
REUSE_ALV_GRID_DISPLAY
|
ALV
|
|
REUSE_ALV_HIERSEQ_LIST_DISPLAY
|
ALV Jerarquico. Ej: Para separar
catidades normales y totales
|
|
REUSE_ALV_LIST_DISPLAY
|
ALV
|
|
UNIDADES
|
CONVERSION_EXIT_CUNIT_INPUT
|
Convierte unidades de SAP en su
formato correcto.
|
CONVERSION_EXIT_CUNIT_OUTPUT
|
Convierte unidades de SAP en su
formato correcto.
|
|
SUBIDAS
Y
BAJADAS
DE
FICHEROS
|
WS_DOWNLOAD
|
Baja ficheros de SAP a un EXCEL TXT
...
|
WS_UPLOAD
|
Carga de datos de un fichero plano a
SAP.
|
|
TABLE_EXPORT_TO_MSACCESS
|
Bajar una lista a ACCESS
|
|
WS_EXCEL
|
Para bajar una tabla a excel
|
|
ALSM_EXCEL_TO_INTERNAL_TABLE
|
Carga datos de un Excel a una tabla
interna de SAP.
|
|
GUI_DOWNLOAD
|
Graba en un fichero local el
contenido de una tabla interna.
|
|
GUI_UPLOAD
|
Carga fichero local a una tabla
interna.
|
|
GUI_DELETE_FILE
|
Borra fichero local.
|
|
FECHAS
|
CONVERSION_EXIT_LDATE_OUTPUT
|
Para 20000101, esta devuelve
01.Enero.2000.
|
CONVERSION_EXIT_SDATE_OUTPUT
|
Para 20000101, esta devuelve
01.ENE.2000.
|
|
RH_GET_DATE_DAYNAME
|
Obtiene el nombre del día.
|
|
CONVERSION_EXIT_PDATE_OUTPUT
|
Convierte la fecha de aaaammdd
--->ddmmaaaa
|
|
CONVERSION_EXIT_PDATE_INPUT
|
Convierte cualquier fecha en fecha
con formato SAP
|
|
HR_SGPBS_YRS_MTHS_DAYS
|
Calcula el nº de días, meses, años
que hay entre dos fechas
|
|
DATE_GET_WEEK
|
Devuelve el nº de semana en que cae
una fecha dada
|
|
RP_LAST_DAY_OF_MONTHS
|
Le das una fecha y te dice el último
día de ese mes.
|
|
CONVERT_DATE_TO_EXTERNAL
|
Cambia el formato de:ddmmaaaa -->
dd.mm.aaaa
|
|
CONVERT_DATE_TO_INTERNAL
|
Cambia el formato de:dd.mm.aaaa
--> aaammdd
|
|
C14B_ADD_TIME
|
Suma tiempo devolviendo día y hora
|
|
COMPUTE_YEARS_BETWEEN_DATES
|
Calcula el nº de años entre dos
fechas
|
|
DAYS_BETWEEN_TWO_DATES
|
Días entre dos fechas
|
|
MONTH_NAMES_GET
|
Recupera todos los meses y sus
nombres en el idioma seleccionado
|
|
MONTH_PLUS_DETERMINE
|
Calcula el mes que resulta de sumar
(o restar) un número de meses a una fecha
|
|
HR_E_NUM_OF_DAYS_OF_MONTH
|
Le das una fecha y te dice el último
día de ese mes.
|
|
DATE_CONVERT_TO_FACTORYDATE
|
Si metes una fecha en día festivo te
la pasa al día siguiente.
|
|
CALCULATE_DATE
|
Suma número de días a una fecha
|
|
DAY_IN_WEEK
|
Te dice el dia de la semana en
número. '01' Lunes, '02' Martes, etc…
|
|
RP_CHECK_DATE
|
Chequea si el formato de fecha es
correcto
|
|
DATE_CONVERT_TO_FACTORYDATE
|
Calendar
function: Returns factory calendar date for a date
|
|
DATE_COMPUTE_DAY
|
Returns
weekday for a date
|
|
FACTORYDATE_CONVERT_TO_DATE
|
Calendar
function: Returns date for a factory calendar date
|
|
F4_DATE
|
Visualizar calendario para ayuda F4.
|
|
POPUP_TO_SELECT_MONTH
|
Sale un Popup para seleccionar un mes
y año
|
|
MONTH_NAMES_GET
|
Nombre mes
|
|
DATE_CONVERT_TO_FACTORYDATE
|
Para obtener el próximo día laborable
de una fecha
|
|
ADD_TIME_TO_DATE
|
Le restas / sumas:D = días; M = mes;
etc....A una fecha.
|
|
TV_GO_BACK_N_DAYS
|
Le resta dias a una fecha
|
|
SD_DATETIME_DIFFERENCE
|
Devuelve el intervalo que existe
entre dos parametros de tipo FECHA y HORA
|
|
POPUP
|
POPUP_TO_CONFIRM
|
Popup para poner lo que quieras…
|
POPUP_TO_CONFIRM_STEP
|
Te sugiere si quieres continuar 'Si',
'No', 'Cancelar'.
|
|
POPUP_TO_CONFIRM_WITH_MESSAGE
|
Como las anteriores pero te deja
escribir mas líneas en el Popup
|
|
POPUP_TO_MODIFY_TEXT
|
Como la anterior pero tb te deja
poner un valor.
|
|
POPUP_TO_INFORM
|
Como su propio nombre indica.
|
|
POPUP_GET_VALUES
|
Recoge textos en un POPUP, para
insertar en tablas etc...
|
|
POPUP_TO_GET_ONE_VALUE
|
Sale un POPUP en el que puedes meter
un texto e insertarlo
|
|
TH_POPUP
|
Envía un POPUP al usuario que mandes
|
|
POPUP_DISPLAY_MESSAGE
|
POPUP para mensajes de ERROR
|
|
TERM_CONTROL_EDIT
|
Super > POPUP que te permite
escribir un texto muyyyyy largo….
|
|
POPUP_TO_DISPLAY_TEXT
|
Popup de recordatorio con boton de
'Continuar'
|
|
POPUP_TO_DECIDE_LIST
|
Dentro del popup tiene radiobutons
para elegir opciones.
|
|
HELP_DOCULINES_SHOW
|
Mega POPUP para escribir textos muy
largos del tipo Información
|
|
CONVERSION
|
CONVERSION_EXIT_ALPHA_OUTPUT
|
Quita los ceros por delante cuando
son nº, si es texto no lo quita
|
CONVERSION_EXIT_ALPHA_INPUT
|
Rellena con ceros por delante cuando
son nº, si es texto no lo rellena
|
|
VARIOS
|
MD_CONVERT_MATERIAL_UNIT
|
Agrupa materiales y pasa de PAL a CS
o BOT, según se indique.
|
CLAF_CLASSIFICATION_OF_OBJECTS
|
Para sacar la clasificacion de los
materiales
|
|
MM_ADDRESS_GET
|
Para mirar valores de campos...
|
|
SAPGUI_PROGRESS_INDICATOR
|
Reloj de SAP para indicar el
porcentage
|
|
WS_FILENAME_GET
|
Buscar fichero
|
|
SPELL_AMOUNT
|
Te pasa un numero a texto. Ej: 234
-> DOSCIENTOS TREINTA Y CUATRO
|
|
WS_EXECUTE
|
Para ejecutar programas
|
|
SXPG_COMMAND_EXECUTE
|
Para ejecutar programas
|
|
ENQUEUE_READ
|
Función que mira los objetos que
estan bloqueados por usuarios en ese mismo momento
|
|
QF05_RANDOM_INTEGER
|
Le pasas un minimo y un máximo y te
devuelve un nº aleatorio entre ese rango
|
|
CLOI_PUT_SIGN_IN_FRONT
|
Coloca el signo negativo '-' delante
del número o texto.
|
|
ENQUE_SLEEP
|
Te hace esperar los segundos que le
pongas
|
|
WWW_ITAB_TO_HTML
|
Convierte la tabla interna a otra en
formato HTML. Luego hacer un download en formato 'BIN'.
|
|
TH_DELETE_USER
|
Borra el modo de un usuario para un
cliente.
|
|
F4_DXFILENAME_TOPRECURSION
|
Para leer ficheros del servidor o del
PC
|
|
ROUND
|
Para hacer REDONDEOS
|
|
PDF
|
CONVERT_ABAPSPOOLJOB_2_PDF
|
Para convertir formularios a un
doculmento PDF
|
CONVERT_OTFSPOOLJOB_2_PDF
|
Para convertir formularios a un
doculmento PDF
|
|
Field
Exit
|
DYNP_VALUES_READ
|
Field Exit
|
DYNP_UPDATE_FIELDS
|
Field Exit
|
|
CURRENCY
|
CONVERT_TO_LOCAL_CURRENCY
|
Cambio de moneda local dado el
importe extranjero
|
CONVERT_TO_FOREIGN_CURRENCY
|
Conoce el cambio extranjero dando la
moneda local (justo la inversa del anterior)
|
|
HR
|
HR_READ_INFOTYPE
|
Para leer infotipos HR
|
HR_READ_INFTY_NOTE
|
Donde se guarda el texto de un
infotipo.
|
|
IDOC
|
EDI_DOCUMENT_DELETE
|
Borra un IDOC mpasandole su número
|
miércoles, 30 de octubre de 2013
miércoles, 11 de septiembre de 2013
- septiembre 11, 2013
- 0 Comments
Generalmente cuando realizamos reportes
en ABAP, obtenemos información en formato de listado, en plano, muchas veces sin ninguna funcionalidad
aparte que la simple visualización de los datos.
En SAP existe algo llamado ALV (Abap
List Viewer) que es el encargado de presentar nuestros reportes de una manera más
práctica y funcional, su interfaz es más elegante y nos permite realizar más
funcionalidades que un reporte normal.
AGREGAR ICONO A ALV 1
OPCIÓN 1:
1.TOP
Agregar campo a icon(30), estructura alv.
2.construir_catalogo
PERFORM llenar_fieldcat USING 'ICON' 'GTD_ASPIRANTE_ALV' '' 'X'
'' text-r03 text-r04 '' '' '11'
CHANGING po_gtd_fieldcat.
3.Llenar_fieldcat
IF pi_campo = 'ICON'.
lwa_fieldcat-icon = 'X'.
ENDIF.
4.cargar_data
* cargar icono dependiendo del estado del aspirante
CASE lwa_aspirante_alv-estad.
WHEN 'Registrado'.
lwa_aspirante_alv-icon = icon_checked.
WHEN 'Aprobado'.
lwa_aspirante_alv-icon = icon_positive.
WHEN 'Desaprobado'.
lwa_aspirante_alv-icon = icon_negative.
WHEN 'Cargado'.
lwa_aspirante_alv-icon = icon_complete.
ENDCASE.
6.actualiazar_tabla_alv
CASE lwa_aspirante_alv-estad.
WHEN 'Registrado'.
lwa_aspirante_alv-icon = icon_checked.
WHEN 'Aprobado'.
lwa_aspirante_alv-icon = icon_positive.
WHEN 'Desaprobado'.
lwa_aspirante_alv-icon = icon_negative.
WHEN 'Cargado'.
lwa_aspirante_alv-icon = icon_complete.
ENDCASE.
AGREGAR ICONO A ALV 2
OPCIÓN 2:
&---------------------------------------------------------------------*
*& Report
ZALV_ICON
*
*&
*
*&---------------------------------------------------------------------*
REPORT
ZALV_ICON
.
************************************************************************
* Include Programs
************************************************************************
INCLUDE <icon>.
************************************************************************
* Database Tables
************************************************************************
TABLES:
kna1.
"Customer Master
************************************************************************
* Types
************************************************************************
TYPE-POOLS: kkblo.
************************************************************************
* Structures
************************************************************************
* Structure to hold the Color Information
DATA: BEGIN OF st_color,
color(3) TYPE c,
END OF st_color.
* Structure to hold the Icon Information
DATA: BEGIN OF st_icon,
icon(4) TYPE c,
END OF st_icon.
* ALV Field Catalog Structure
DATA: st_fieldcat TYPE slis_fieldcat_alv.
* ALV Layout Structure
DATA: st_layout TYPE slis_layout_alv.
************************************************************************
* Internal Tables
************************************************************************
* Output Table
DATA: BEGIN OF tbl_kna1 OCCURS 0.
INCLUDE STRUCTURE
st_icon. "Icon Structure
INCLUDE STRUCTURE
kna1. "Customer Master Structure
INCLUDE STRUCTURE
st_color. "Color Structure
DATA: END OF tbl_kna1.
* ALV Field Catalog Table
DATA: tbl_fieldcat TYPE slis_t_fieldcat_alv.
************************************************************************
* Variables
************************************************************************
DATA: fieldname(30) TYPE c,
g_repid LIKE sy-repid.
************************************************************************
* Start of Selection
************************************************************************
START-OF-SELECTION.
g_repid = sy-repid.
PERFORM get_data.
************************************************************************
* End of Selection
************************************************************************
END-OF-SELECTION.
PERFORM do_fancy_stuff.
PERFORM get_layout.
PERFORM get_fieldcat.
PERFORM create_report.
*&---------------------------------------------------------------------*
*& Form CREATE_REPORT
*&---------------------------------------------------------------------*
* Learn to read the subroutine name!
*----------------------------------------------------------------------*
FORM create_report.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_interface_check = ' '
i_callback_program = g_repid
i_callback_user_command = 'PROCESS_USER_COMMANDS'
it_fieldcat
= tbl_fieldcat
i_default
= 'X'
i_save
= ' '
is_layout
= st_layout
TABLES
t_outtab
= tbl_kna1
EXCEPTIONS
program_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.
ENDFORM.
" CREATE_REPORT
*&---------------------------------------------------------------------*
*& Form GET_FIELDCAT
*&---------------------------------------------------------------------*
* Build the Field Catalog
*----------------------------------------------------------------------*
FORM get_fieldcat.
* Here the field catalog is created. To display more fields simply
* 'uncomment' the additional lines and add the field name. Also note
* that the field catalog is much more powerful than this. You can
* intensify fields, change the colour, assign reference fields, etc.
* Look at type slis_fieldcat_alv for more options.
PERFORM write_fieldcat USING 'ICON' 'TBL_KNA1'
' ' 'X' 1 '2' 'X'
' '.
PERFORM write_fieldcat USING 'KUNNR' 'TBL_KNA1' 'KNA1' 'X' 2 ' '
' '
' '.
PERFORM write_fieldcat USING 'NAME1' 'TBL_KNA1' 'KNA1' ' ' 3 '10'
' '
'X'.
PERFORM write_fieldcat USING 'STRAS' 'TBL_KNA1' 'KNA1' ' ' 4 ' '
' '
' '.
PERFORM write_fieldcat USING 'TELF1' 'TBL_KNA1' 'KNA1' ' ' 5 ' '
' '
' '.
PERFORM write_fieldcat USING 'ORT01' 'TBL_KNA1' 'KNA1' ' ' 6 ' '
' '
' '.
PERFORM write_fieldcat USING 'PSTLZ' 'TBL_KNA1' 'KNA1' ' ' 7 ' '
' '
' '.
PERFORM write_fieldcat USING 'SORTL' 'TBL_KNA1' 'KNA1' ' ' 8 ' '
' '
' '.
PERFORM write_fieldcat USING 'ERNAM' 'TBL_KNA1' 'KNA1' ' ' 9 ' '
' '
' '.
PERFORM write_fieldcat USING 'SPRAS' 'TBL_KNA1' 'KNA1' ' ' 10 ' '
' '
' '.
* perform write_fieldcat using ' '
'TBL_KNA1' 'KNA1' ' ' 10 ' '.
* perform write_fieldcat using ' '
'TBL_KNA1' 'KNA1' ' ' 11 ' '.
* perform write_fieldcat using ' '
'TBL_KNA1' 'KNA1' ' ' 12 ' '.
ENDFORM.
" GET_FIELDCAT
*&---------------------------------------------------------------------*
*& Form WRITE_FIELDCAT
*&---------------------------------------------------------------------*
* Write the Field Catalog data to
the Field Catalog Table
*----------------------------------------------------------------------*
* -->name Field name
* -->tab Table name
* -->st
Structure Name
* -->key Is this
field a Key?
* -->pos Position
Number
* -->length Field Length
* -->icon Display as Icon
* -->hot Hotspot
*----------------------------------------------------------------------*
FORM write_fieldcat USING name tab st key pos length icon hot.
st_fieldcat-fieldname = name.
st_fieldcat-tabname = tab.
st_fieldcat-ref_tabname = st.
st_fieldcat-key =
key.
st_fieldcat-col_pos = pos.
st_fieldcat-outputlen = length.
st_fieldcat-icon =
icon.
st_fieldcat-hotspot = hot.
APPEND st_fieldcat TO tbl_fieldcat.
CLEAR st_fieldcat.
ENDFORM.
" WRITE_FIELDCAT
*&---------------------------------------------------------------------*
*& Form PROCESS_USER_COMMANDS
*&---------------------------------------------------------------------*
* Interactive Reporting Commands
*----------------------------------------------------------------------*
FORM process_user_commands USING syst-ucomm LIKE syst-ucomm
selfield TYPE slis_selfield.
* This subroutine is called when there is user interaction in the output
* In this case if the user double clicks the Customer Number then the
* program will call transaction XD03 and display the Customer Master
* Data
CASE syst-ucomm.
WHEN '&IC1'.
* get cursor field fieldname.
READ TABLE tbl_kna1 INDEX
selfield-tabindex.
SET PARAMETER ID 'KUN' FIELD
tbl_kna1-kunnr.
CALL TRANSACTION 'XD03' AND SKIP FIRST
SCREEN.
ENDCASE.
ENDFORM.
" PROCESS_USER_COMMANDS
*&---------------------------------------------------------------------*
*& Form GET_LAYOUT
*&---------------------------------------------------------------------*
* set the layout of the ALV.
* add color to the row?
*----------------------------------------------------------------------*
FORM get_layout.
st_layout-info_fieldname = 'COLOR'.
st_layout-colwidth_optimize = 'X'.
st_layout-get_selinfos = 'X'.
ENDFORM.
" GET_LAYOUT
*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
* Get some data to play with
*----------------------------------------------------------------------*
FORM get_data.
SELECT * FROM kna1 INTO CORRESPONDING FIELDS OF TABLE tbl_kna1
UP TO 30 ROWS.
ENDFORM.
" get_data
*&---------------------------------------------------------------------*
*& Form do_fancy_stuff
*&---------------------------------------------------------------------*
* Do some fancy pants stuff for
example changing the color of
* lines and adding icons
*----------------------------------------------------------------------*
FORM do_fancy_stuff.
* Here we will demonstrate changing the color of ALV Record lines as
* well as displaying Icons
LOOP AT tbl_kna1.
* All records where NAME1 begins with 'M', will be displayed in Bluish
* Green
IF tbl_kna1-name1(1) EQ 'M'.
tbl_kna1-color = 'C41'.
"Bluish Green
MODIFY tbl_kna1 TRANSPORTING color.
ENDIF.
* All records with no TELF1 will be displayed in White and have a
* Warning Icon
IF tbl_kna1-telf1 IS INITIAL.
tbl_kna1-color = 'C00'. "White
tbl_kna1-icon = '@AH@'.
"Warning Icon
MODIFY tbl_kna1 TRANSPORTING icon color.
ENDIF.
ENDLOOP.
ENDFORM.
" do_fancy_stuff