PDA

Ver la Versión Completa : PS: Presupuestación de proyectos(CJ30)


bmajofer
16/09/07, 05:13:21
Hola amigos,

Soy un miembro relativamente reciente de este foro y, sinceramente, me es de gran utilidad en mi trabajo y quiero aprovechar para agradecerselo a todas las personas que destinan parte de su tiempo a compartir sus conociminetos con los demás, sin conocernos mas que por este medio/servicio.;)

Actualmente estoy desarrollando, bajo una sola transaccion 'Z*' la funcionalidad de 'PLANIFICACION Y PRESUPUESTACION DE PROYECTOS ANUALES' pero detallado a nivel de 'Clases de Coste'/'Cuenta'. En esta tarea me he topado con una dificultad a la hora de presupuestar un pep mediante 'Call Transacction...' a la transacción estándar CJ30 :confused:

En esta transaccion, se debe entrar con pep padre y pep hijo a presupuestar para luego poder realizar una totalizacion del importe del pep hijo al pep padre. Aquí los peps se presentan en table control en el que me debo posicionar en el pep hijo que se desea presupuestar para indicar su importe.La dificultad se me presenta a la hora de posicionarme en el pep que se desea presupuestar (ya que no existe opcion de posicionarse). Debido a ello estoy en la ardua labor de encontrar una Bapi ó funcion estandar que me permita hacer la presupuestacion, totalizando el importe al pep padre pero...tras dias de investigación aún no he llegado a resultado alguno.

¿Alguien podria echarme una manilla y darme alguna indicación para conseguirlo?:o

Muchas gracias por adelantado y mis disculpas si me he extendido mucho en la explicacion. Un cordial saludo.

bmajofer.

bmajofer
18/09/07, 07:06:32
Hola de nuevo a todos. Por suerte yo misma he conseguido resolver el tema y simplemente quiero dejar constancia aquí del cómo por si a alguien le fuese útil.

Debugueando la transacción stándar me he encontrado, entre otras, con la función 'AIPA_BUDGPROC_INPUT_POST' que, cargando sus parámetros tanto con los datos del pep sobre el que se desea presupuestar como los de su pep antecesor inmediato(con el importe del pep a presupuestar ya acumulado) permite realizar su presupuestación totalizando los importes al antecesor.

Os detallo cómo lo he codificado en mi caso concreto:

(.....)

CLEAR: it_covob, it_covob[], g_i_vorga, g_i_wrttp,
g_i_trgkz, g_i_posit, g_i_sgtxt.

* Parametros únicos de la fón.
MOVE: 'KBUD' TO g_i_vorga,
'41' TO g_i_wrttp,
'N' TO g_i_trgkz,
off TO g_i_posit,
pst_pep_padre-post1 TO g_i_sgtxt.

* Reg. del pep marcado ó pep hijo.
CLEAR: st_covob, st_bpja, st_bpcosu.

MOVE: pst_pep_padre-objnr_h TO st_covob-objnr.

MOVE: pst_pep_padre-objnr_h TO st_bpja-objnr,
sy-mandt TO st_bpja-mandt,
'0002' TO st_bpja-lednr,
'N' TO st_bpja-trgkz,
'41' TO st_bpja-wrttp,
p_gjahr TO st_bpja-gjahr,
'KBUD' TO st_bpja-vorga,
p_moneda TO st_bpja-twaer.

MOVE pst_pep_padre-total_h TO: st_bpja-wtjhr,
st_bpja-wljhr,
st_bpja-wtjhv,
st_bpja-wljhv.
APPEND st_bpja TO st_covob-bpja.

MOVE: p_versi TO st_bpcosu-versn,
p_gjahr TO st_bpcosu-gjahr,
st_pep_padre-objnr_h TO st_bpcosu-objnr,
'KBUD' TO st_bpcosu-vorga.

MOVE pst_pep_padre-total_h TO: st_bpcosu-cosum_wtg,
st_bpcosu-cosum_wog,
st_bpcosu-cosum.
APPEND st_bpcosu TO st_covob-bpcosu.
APPEND st_covob TO it_covob.

* Reg. del pep padre.
CLEAR: st_covob, st_bpja, st_bpcosu.

MOVE: pst_pep_padre-objnr_p TO st_covob-objnr.

MOVE: pst_pep_padre-objnr_p TO st_bpja-objnr,
sy-mandt TO st_bpja-mandt,
'0002' TO st_bpja-lednr,
'N' TO st_bpja-trgkz,
'41' TO st_bpja-wrttp,
p_gjahr TO st_bpja-gjahr,
'KBUD' TO st_bpja-vorga,
p_moneda TO st_bpja-twaer.

MOVE pst_pep_padre-total_p TO: st_bpja-wtjhr,
st_bpja-wljhr,
st_bpja-wtjhv,
st_bpja-wljhv.
APPEND st_bpja TO st_covob-bpja.

MOVE: p_versi TO st_bpcosu-versn,
p_gjahr TO st_bpcosu-gjahr,
st_pep_padre-objnr_p TO st_bpcosu-objnr,
'KBUD' TO st_bpcosu-vorga.
MOVE pst_pep_padre-total_p TO: st_bpcosu-cosum_wtg,
st_bpcosu-cosum_wog,
st_bpcosu-cosum.
APPEND st_bpcosu TO st_covob-bpcosu.
APPEND st_covob TO it_covob.


CALL FUNCTION 'AIPA_BUDGPROC_INPUT_POST'
EXPORTING
it_covob = it_covob
i_vorga = g_i_vorga
i_wrttp = g_i_wrttp
i_trgkz = g_i_trgkz
i_versn = p_versi
i_posit = g_i_posit
i_sgtxt = g_i_sgtxt
i_flg_compute_delta = on
i_flg_commit = on
i_flg_in_update_task = on.

(.....)

Un saludo,

bmajofer.:)

gigalejandro
09/12/11, 19:36:54
Muchas años despues un gracias, no se imagina cuanto me ha servido:)