Zacons Upd h Status Unidad

3
function zacons_upd_h_status_unidad. *"---------------------------------------------------------------------- *"*"Módulo funciones actualiz. *" *"*"Interfase local *" IMPORTING *" VALUE(I_SC35O) TYPE ZACONS_SC35 *" VALUE(I_SC35N) TYPE ZACONS_SC35 *" VALUE(TIPO_BL) TYPE CHAR02 *" VALUE(MOTIV_BLOQ) TYPE TXT50 *"---------------------------------------------------------------------- data: lt_hisu type table of zacons_hisunidad, ls_hisu like line of lt_hisu. data: lt_hisb type table of zacons_hisblqinm, ls_hisb like line of lt_hisb. data: lt_anejreg type zacons_cod_propiedad_t, ls_anejreg like line of lt_anejreg. data lt_sc35 type table of zacons_sc35. data ls_sc35 like line of lt_sc35. field-symbols <ls_sc35> type zacons_sc35. data: begin of lt_datanej occurs 0, id_material type matnr, end of lt_datanej.. data l_upd_anre_su type xfeld. data l_upd_anre_sb type xfeld. *----------------------------------------------------------------------* *--- Si el estatus de unidad ha cambiado, se actualiza la tabla ZACONS_HISUNIDAD if i_sc35o-status_unidad ne i_sc35n-status_unidad. move: i_sc35n-id_material to ls_hisu-material, i_sc35n-status_unidad to ls_hisu-status_unidad, sy-uname to ls_hisu-usuario, sy-datum to ls_hisu-fecha, sy-uzeit to ls_hisu-hora. * IF i_sc35n-status_unidad EQ '01'. * MOVE: TEXT-T01 TO ls_hisu-txt_unidad . * ELSE. * MOVE: TEXT-T02 TO ls_hisu-txt_unidad . * ENDIF. append ls_hisu to lt_hisu. move abap_true to l_upd_anre_su. endif. *--- Si el estatus de bloque ha cambiado, se actualiza la tabla ZACONS_HISBLQINM if i_sc35o-status_bl ne i_sc35n-status_bl. *--- de momento lo comento hasta no sepa como pasar el motivo y el tipo move: i_sc35n-id_material to ls_hisb-material, sy-uname to ls_hisb-usuario, sy-datum to ls_hisb-fecha, sy-uzeit to ls_hisb-hora, * INI. MODI. DSH 14.09.2014 motiv_bloq to ls_hisb-tipo. select single descripcion from zacons_cl_bloq into ls_hisb-motivo where tipo eq tipo_bl. * tipo_bl TO ls_hisb-motivo,

description

Zacons Upd h Status Unidad

Transcript of Zacons Upd h Status Unidad

function zacons_upd_h_status_unidad.*"----------------------------------------------------------------------*"*"Módulo funciones actualiz.*"*"*"Interfase local*" IMPORTING*" VALUE(I_SC35O) TYPE ZACONS_SC35*" VALUE(I_SC35N) TYPE ZACONS_SC35*" VALUE(TIPO_BL) TYPE CHAR02*" VALUE(MOTIV_BLOQ) TYPE TXT50*"---------------------------------------------------------------------- data: lt_hisu type table of zacons_hisunidad, ls_hisu like line of lt_hisu. data: lt_hisb type table of zacons_hisblqinm, ls_hisb like line of lt_hisb. data: lt_anejreg type zacons_cod_propiedad_t, ls_anejreg like line of lt_anejreg. data lt_sc35 type table of zacons_sc35. data ls_sc35 like line of lt_sc35. field-symbols <ls_sc35> type zacons_sc35. data: begin of lt_datanej occurs 0, id_material type matnr, end of lt_datanej.. data l_upd_anre_su type xfeld. data l_upd_anre_sb type xfeld.*----------------------------------------------------------------------*

*--- Si el estatus de unidad ha cambiado, se actualiza la tabla ZACONS_HISUNIDAD if i_sc35o-status_unidad ne i_sc35n-status_unidad. move: i_sc35n-id_material to ls_hisu-material, i_sc35n-status_unidad to ls_hisu-status_unidad, sy-uname to ls_hisu-usuario, sy-datum to ls_hisu-fecha, sy-uzeit to ls_hisu-hora.* IF i_sc35n-status_unidad EQ '01'.* MOVE: TEXT-T01 TO ls_hisu-txt_unidad .* ELSE.* MOVE: TEXT-T02 TO ls_hisu-txt_unidad .* ENDIF. append ls_hisu to lt_hisu. move abap_true to l_upd_anre_su. endif.

*--- Si el estatus de bloque ha cambiado, se actualiza la tabla ZACONS_HISBLQINM if i_sc35o-status_bl ne i_sc35n-status_bl.*--- de momento lo comento hasta no sepa como pasar el motivo y el tipo move: i_sc35n-id_material to ls_hisb-material, sy-uname to ls_hisb-usuario, sy-datum to ls_hisb-fecha, sy-uzeit to ls_hisb-hora,* INI. MODI. DSH 14.09.2014 motiv_bloq to ls_hisb-tipo. select single descripcion from zacons_cl_bloq into ls_hisb-motivo where tipo eq tipo_bl.* tipo_bl TO ls_hisb-motivo,

* FIN MODI. DSH 14.09.2014 append ls_hisb to lt_hisb. move abap_true to l_upd_anre_sb. endif.

*--- buscar los anejos registrales, del inm. pcpal(I_SC35N-cod_propiedad)*--- para guardarlos también en el histórico call function 'ZACONS_GETDAT_ANEREG' exporting i_codi_promo = i_sc35n-processo i_codi_propi = i_sc35n-cod_propiedad importing e_codi_anre = lt_anejreg.

loop at lt_anejreg into ls_anejreg. select * from zacons_sc35 appending corresponding fields of table lt_sc35 where processo eq i_sc35n-processo and cod_propiedad eq ls_anejreg. endloop.

*--- construyo la tabla para el histórico de los status de unidad loop at lt_sc35 assigning <ls_sc35>. move: <ls_sc35>-id_material to ls_hisu-material.* IF i_sc35n-status_unidad EQ '01'.* MOVE: TEXT-T01 TO ls_hisu-txt_unidad .* ELSE.* MOVE: TEXT-T02 TO ls_hisu-txt_unidad .* ENDIF. append ls_hisu to lt_hisu.*--- si se ha indicado el parametro I_UPD_ANRE, actualizar los anejados* con el estatus de unidad* Inicio Inser. DSH 15.09.2014 move: <ls_sc35>-id_material to ls_hisb-material, motiv_bloq to ls_hisb-tipo. select single descripcion from zacons_cl_bloq into ls_hisb-motivo where tipo eq tipo_bl. append ls_hisb to lt_hisb.* Fin Inser. DSH

if l_upd_anre_su eq abap_true. move: i_sc35n-status_unidad to <ls_sc35>-status_unidad. endif.

if l_upd_anre_sb eq abap_true. move: i_sc35n-status_bl to <ls_sc35>-status_bl. endif.

endloop.

if lt_hisu[] is not initial. modify zacons_hisunidad from table lt_hisu. endif.

if lt_hisb[] is not initial. modify zacons_hisblqinm from table lt_hisb.

endif.

if l_upd_anre_su eq abap_true or l_upd_anre_sb eq abap_true. if lt_sc35[] is not initial. loop at lt_sc35 into ls_sc35. update zacons_sc35 from ls_sc35. endloop. endif. endif.endfunction.