PDA

Ver la Versión Completa : LSMW para ABUMN Activos Fijos


vgaleana
18/12/09, 16:48:52
Hola,

ABUMN de activos fijos sirve para trasladar activos de la misma sociedad.

Quiero trasladar de un activo a muchos en un solo paso. pero la opción del campo "Mas activos" no es funcional en la ABUMN estandar.

Me recomendaron crear un LSMW pero tengo problemas con la estructura de la abumn, pues al hacer la grabación de la ABUMN tambien le pido crear un nuevo activo y la llevo hasta la AS02 , entonces al momento de ligar los campos muchos no los reconoce.

alguien tendrá un manual de LSMW para la ABUMN de favor?

o habrá alguna nota para la abumn que ayude a esto? :confused:

vgaleana
18/12/09, 20:25:35
Duda:

como manejan los traslados de activos ustedes en este caso?

en un solo activo tengo 10 computadoras.

activo # 1 - 10 computadoras


ahora quiero crear 9 activos de ese único activo

con la ABUMN lo hago pero uno a la vez (crear activo fijo nuevo), pues en la opción del campo de "mas activos fijos" no es posible hacerlo de un solo movimiento.
en total voy a tener 10 activos con una computadora cada uno.

tiene que quedar así :
activo # 1 - 1 computadora
activo # 2 - 1 computadora
activo # 3 - 1 computadora
etc...

sin crear desarrollo "Z" alguien sabrá si es posible hacer esto de un solo movimiento?:confused:

braschilester
18/12/09, 23:30:17
Hola mira yo e realizado diversas cargas con la LSMW de maestros AF

otros,,,mira realize algo y te cuento como me fue

vgaleana
29/12/09, 16:27:50
Hola,

Sigo sin poder, tendras alguna noticia buena?

como realizo traslados masivos de activos?

braschilester
29/12/09, 16:48:15
SOLO DEBEN CAMBIAR LAS TABLAS Y CAMPOS.-



*-----------------------------------------------------------------------
*CARGA TRASPASO COSTES
*
*Desarrllador: Orlando Rodriguez del Canto
*braschilester@gmail.com - braschilester@hotmail.com
*-----------------------------------------------------------------------
report ZCO_KB11
no standard page heading line-size 255.

TABLES: RK40C_KBXXN_REPOSTING.


DATA: BEGIN OF bdcdata2 OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdcdata2.

DATA: BEGIN OF messtab2 OCCURS 10.
INCLUDE STRUCTURE bdcmsgcoll.
DATA END OF messtab2.

DATA opt TYPE ctu_params.

DATA : i_errores LIKE bapiret2 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF t_COKB OCCURS 0,
SKOS LIKE RK40C_KBXXN_REPOSTING-SKOSTL,
KSTA LIKE RK40C_KBXXN_REPOSTING-KSTAR,
WTGB LIKE RK40C_KBXXN_REPOSTING-WTGBTR,
WAER LIKE RK40C_KBXXN_REPOSTING-WAERS,
EKOS LIKE RK40C_KBXXN_REPOSTING-EKOSTL.


VAL1(15),
VAL2(15),
VAL3(15),
VAL4(15),
VAL5(15),
CLREVA(5),
END OF t_COKB.
DATA: BEGIN OF i_excel OCCURS 0,
fila LIKE alsmex_tabline-row,
columna LIKE alsmex_tabline-col,
valor LIKE alsmex_tabline-value,
END OF i_excel.

PARAMETERS: P_USER LIKE apqi-userid OBLIGATORY DEFAULT sy-uname.
PARAMETERS: ruta LIKE rlgrap-filename OBLIGATORY
DEFAULT 'C:\KB11CO.XLS' LOWER CASE.

start-of-selection.

PERFORM f_lee_archivo.

FORM f_lee_archivo.
* Función que descarga datos desde archivo excel
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = ruta
i_begin_col = '1'
i_begin_row = '1'
i_end_col = '44' " NUMERO DE CAMPOS DE ARCHIVO
i_end_row = '65000'
TABLES
intern = i_excel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.

IF sy-subrc EQ 0.
* Función para llenar datos descargados en tabla interna
PERFORM f_llena_tabla.
ELSE.
*MESSAGE i001 WITH 'ERROR'.
ENDIF.

ENDFORM.

FORM f_llena_tabla.
LOOP AT i_excel.
CASE i_excel-columna.
WHEN '1'.
MOVE i_excel-valor TO t_COKB-SKOS. "CeCo ant
WHEN '2'.
MOVE i_excel-valor TO t_COKB-KSTA. "Cl coste
WHEN '3'.
MOVE i_excel-valor TO t_COKB-WTGB. " Importe
WHEN '4'.
MOVE i_excel-valor TO t_COKB-WAER. " Mon
WHEN '5'.
MOVE i_excel-valor TO t_COKB-EKOS. " CeCo Nuevo

ENDCASE.
AT END OF fila.
APPEND t_COKB.
CLEAR t_COKB.
ENDAT.
ENDLOOP.

PERFORM CARGA_BATCH.
ENDFORM. " f_llena_tabla

FORM CARGA_BATCH.

opt-DISMODE = 'A'.

loop at t_COKB from 2.

perform bdc_dynpro2 using 'SAPLSP04' '0300'.
perform bdc_field2 using 'BDC_CURSOR' 'SVALD-VALUE(01)'.
perform bdc_field2 using 'BDC_OKCODE' '=FURT'.

perform bdc_dynpro2 using 'SAPLSP04' '0120'.
perform bdc_field2 using 'BDC_CURSOR' '05/07'.
perform bdc_field2 using 'BDC_OKCODE' '=PICK'.

perform bdc_dynpro2 using 'SAPLK23F1' '1200'.
perform bdc_field2 using 'BDC_OKCODE' '=POST'.
perform bdc_field2 using 'RK40C_KBXXN_REPOSTING-SKOSTL' t_COKB-SKOS.
perform bdc_field2 using 'RK40C_KBXXN_REPOSTING-KSTAR' t_COKB-KSTA.
perform bdc_field2 using 'WTGB LIKE RK40C_KBXXN_REPOSTING-WTGBTR' t_COKB-WTGB.
perform bdc_field2 using 'WAER LIKE RK40C_KBXXN_REPOSTING-WAERS' t_COKB-WAER.
perform bdc_field2 using 'EKOS LIKE RK40C_KBXXN_REPOSTING-EKOSTL' t_COKB-EKOS.

perform bdc_dynpro2 using 'SAPLK23F1' '1200'.
perform bdc_field2 using 'BDC_OKCODE' '/EEND'.

CALL TRANSACTION 'kb11n' USING bdcdata2 OPTIONS FROM opt.
endloop.

LOOP AT messtab2 WHERE msgtyp = 'E'.
i_errores-type = messtab2-msgtyp.
i_errores-id = messtab2-msgid.
i_errores-number = messtab2-msgnr.
i_errores-message_v1 = messtab2-msgv1.
i_errores-message_v2 = messtab2-msgv2.
i_errores-message_v3 = messtab2-msgv3.
i_errores-message_v4 = messtab2-msgv4.
APPEND i_errores.

ENDLOOP.

ENDFORM.

FORM bdc_dynpro2 USING program dynpro.
CLEAR bdcdata2.
bdcdata2-program = program.
bdcdata2-dynpro = dynpro.
bdcdata2-dynbegin = 'X'.
APPEND bdcdata2.
ENDFORM. " BDC_DYNPRO

*----------------------------------------------------------------------*
FORM bdc_field2 USING fnam fval.
CLEAR bdcdata2.
bdcdata2-fnam = fnam.
bdcdata2-fval = fval.
APPEND bdcdata2.
ENDFORM. " BDC_FIELD

*----------------------------------------------------------------------*
FORM bdc_transaction2 USING transac.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = transac
TABLES
dynprotab = bdcdata2
EXCEPTIONS
OTHERS = 7.

REFRESH bdcdata2.

IF sy-subrc <> 0.
MESSAGE i144(z0).
LEAVE PROGRAM.
ENDIF.

ENDFORM.

vanvan
05/01/10, 00:36:26
Hola

El LSMW no toma transacciones enjoy, las graba y toda la cosa, pero no funciona para transacciones enjoy, tienes que hacer el grabado con la ABUM y si funciona.
Para realizar grabaciones de transacciones existen los ECATT pero todavía no he tenido la experiencia de manejarlos.


Saludos

vgaleana
21/01/10, 16:18:17
;) Muchas gracias a todos,

Les comento que si es posible el traslado masivo de un solo activo a muchos mediante LSMW en un solo paso.

Ya logré crear LSMW para la ABUMN y la tengo en Productivo corriendo muy bien.

saludos,:D