lunes, 10 de enero de 2011

Transportar Registros de tabla Z

Hay varias maneras, la primera desde la se16 vemos el contenido de la tabla,
menu--> entrada en tabla --> transportar entradas.

otra manera es desde la sm30 transporte.

otra manera es desde la se10 seleccionas la orden de transporte
le das en --> modificar
agregamos un objeto

R3TR TABU

jueves, 6 de enero de 2011

vencimiento neto en bsid

transaccion fbl5n
Para calcular el vencimiento neto de la tabla bsid para partidas abiertas
se suma zbd3t o zbd2t o zbd1t dependiendo la ultima que tenga datos
si la 3 tiene se pone esa si no la 2 esa se suma a la fecha base para
el calculo de vencimiento zfbdt.

miércoles, 5 de enero de 2011

Bajar una tabla interna a Excel

DATA texto(30) TYPE c.
CONCATENATE 'c:\' sy-uzeit 'EXCEL.DAT' INTO texto.

CALL FUNCTION 'WS_EXCEL'
EXPORTING
filename = texto "'c:\EXCEL.DAT'

TABLES
data = i_t."data = i_sel.

IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

lunes, 3 de enero de 2011

Que es un MODULE POOL

Un MODULE POOL es un reporte preparado para diferentes pantallas
y para manejar los eventos de estas, se usa la se80 para ver las dynpros,
se pueden agregar nuevas o cualquier elemento a una dynpro.

PBO (Process Before Output)
Es la parte de codigo que se ejecutara antes que el usuario haga algo
PAI (Process After Input)
Esta parte de codigo se ejecuta despues de interactuar con el usuario

Para poder ejecutarse debe tener asignada una transaccion (SE93)


EJEMPLO by Antonio Lopez
* Este module pool pretende introducirnos al mundo
* de la programacion, no es nada elaborado pero
* contiene las sentencias basicas SELECT, INSERT,
* DELETE para una tabla de nombre ZRF_T0024, cuyos
* campos son: ZRF_T0024-ID_CODIGO,
* ZRF_T0024-DESCRIPCION ZRF_T0024-DIAS. Necesitaremos
* crear una screen, con tres input/output fields de
* nombre igual que la tabla:
* ZRF_T0024-ID_CODIGO, ZRF_T0024-DESCRIPCION ZRF_T0024-DIAS.
* Este es el codigo.



*&--------------------------------------*
*& Include ZRF_602TOP *
*&--------------------------------------*
PROGRAM ZRF_0602.
TABLES:
ZRF_T0024. "CODIGOS DE MTTO


*&--------------------------------------*
*& screen *
*&--------------------------------------*
PROCESS BEFORE OUTPUT.
MODULE PBO.
*
PROCESS AFTER INPUT.
FIELD ZRF_T0024-ID_CODIGO MODULE DESPLIEGA_CODIGOS_MTTO.
MODULE PAI.



*&-------------------------------------*
*& Module PAI INPUT *
*&-------------------------------------*
module PAI input.

CASE SY-UCOMM.
WHEN 'ADD'.
PERFORM NUEVO_602.
WHEN 'DELT'.
PERFORM BORRAR_602.
WHEN 'CLEAN'.
PERFORM LIMPIAR_602.
WHEN 'SAVE'.
PERFORM GUARDAR_602.
WHEN 'EXIT' OR 'BACK' OR 'CANC'.
PERFORM exit_program.
ENDCASE.

endmodule. " PAI INPUT

*&-----------------------------------------*
*& Module PBO OUTPUT *
*&-----------------------------------------*
module PBO output.
SET PF-STATUS 'ZRF_602GUI'.
SET TITLEBAR 'MAINTITLE'.
endmodule. " PBO OUTPUT

*--------------------------------------*
* INCLUDE ZRF_602F01 *
*--------------------------------------*
*&----------------------*
*& Form NUEVO_602
*&----------------------*
form NUEVO_602.
DATA: TEMPO LIKE ZRF_T0024-ID_CODIGO.
SELECT MAX( ID_CODIGO ) FROM ZRF_T0024 INTO TEMPO.
ZRF_T0024-ID_CODIGO = TEMPO + 1.
endform. " NUEVO_602
*&------------------------*
*& Form BORRAR_602
*&------------------------*
form BORRAR_602.
DATA L_RESP.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = 'Eliminacion de registros!!!'
DIAGNOSE_OBJECT = ' '
text_question = '¿Desea eliminar el registro actual?'
TEXT_BUTTON_1 = 'si'(001)
ICON_BUTTON_1 = ' '
TEXT_BUTTON_2 = 'no'(002)
ICON_BUTTON_2 = ' '
IMPORTING
ANSWER = L_RESP.
IF L_RESP <> 'A'.
IF L_RESP = 1. "Sí
DELETE FROM ZRF_T0024 WHERE ID_CODIGO = ZRF_T0024-ID_CODIGO.
PERFORM LIMPIAR_602.
ENDIF.
ENDIF.
endform. " BORRAR_602
*&-------------------------*
*& Form LIMPIAR_602
*&-------------------------*
form LIMPIAR_602.
ZRF_T0024-ID_CODIGO = ''.
ZRF_T0024-DESCRIPCION = ''.
ZRF_T0024-DIAS = ''.
endform. " LIMPIAR_602
*&---------------------------*
*& Form GUARDAR_602
*&---------------------------*
form GUARDAR_602.
INSERT INTO ZRF_T0024 VALUES ZRF_T0024.
PERFORM LIMPIAR_602.