Monday, December 1, 2008

DATA : lv_stsma TYPE hum_stsma,
lt_status TYPE TABLE OF gty_status,
lk_status TYPE gty_status,
lv_venum TYPE venum,
lv_vhart TYPE vhart.

SELECT SINGLE venum vhart
INTO (lv_venum, lv_vhart)
FROM vekp
WHERE exidv EQ p_exidv.

CONCATENATE gc_hu lv_venum INTO gvc_object.

* Get current status information
SELECT SINGLE stat inact
INTO lk_status
FROM husstat
WHERE objnr EQ gvc_object
AND inact EQ space.

IF sy-subrc = 0.
APPEND lk_status TO lt_status.
ENDIF.

SELECT SINGLE stsma
INTO lv_stsma
FROM tvty
WHERE traty EQ lv_vhart.

CLEAR gk_uphustatus.
REFRESH gt_uphustatus.

gk_uphustatus-objnr = gvc_object.
gk_uphustatus-stat = lk_status-stat.
gk_uphustatus-inact = gc_x.
gk_uphustatus-stsma = lv_stsma.
gk_uphustatus-mod = gc_u.

APPEND gk_uphustatus TO gt_uphustatus.
CLEAR gk_uphustatus.

CALL FUNCTION 'HU_STATUS_UPDATE'
EXPORTING
it_hustatus = gt_uphustatus
it_hustobj = gt_uphustobj.

IF sy-subrc EQ 0.

SELECT SINGLE estat
FROM tj30t
INTO gv_estat_stag
WHERE stsma = lv_stsma
AND spras = gc_e
AND txt04 = gc_stag.

CLEAR gk_uphustatus.
REFRESH gt_uphustatus.

* Check if new status exists, maybe inactive
CLEAR lk_status.
SELECT SINGLE stat inact
INTO lk_status
FROM husstat
WHERE objnr EQ gvc_object
AND stat EQ gv_estat_stag.

IF sy-subrc 0.
gk_uphustatus-mod = gc_i.
ELSE.
gk_uphustatus-mod = gc_u.
ENDIF.

gk_uphustatus-objnr = gvc_object.
gk_uphustatus-stat = gv_estat_stag.
gk_uphustatus-stsma = lv_stsma.

APPEND gk_uphustatus TO gt_uphustatus.
CLEAR gk_uphustatus.

CALL FUNCTION 'HU_STATUS_UPDATE'
EXPORTING
it_hustatus = gt_uphustatus
it_hustobj = gt_uphustobj.

ENDIF.




2 comments:

Unknown said...
This comment has been removed by the author.
Anonymous said...

Hi there

Is it possible to give the values of your global variables please?

And also, one of your if statement don't have a condition sign ( =, NE etc).

Thanks for the blog, really helps!!