Hi,
I am using FM /sapapo/ts_dm_lock_unlock to lock and unlock planning area.
When I am executing my program in forground it is working properly but in background by this FM planning area is not being lock/unlock
Can you please help on same FM in background.
Code written is as below
INCLUDE /sapapo/ts_constants_iobjnm.
" Declarations
TABLES :/SAPAPO/TSPAPLOB, " Planning Area - Plng Object Struct. (Key Fig)
/SAPAPO/TSVERSIO. " Planning Versions for Planning Area
" Selection Screen Design
SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-B01.
SELECTION-SCREEN SKIP.
PARAMETERS :s_parea TYPE /SAPAPO/DM_PAREA_LOCK-PAREA OBLIGATORY, planning area
s_pvers TYPE /SAPAPO/VRSIOID OBLIGATORY, planning version
s_lock as CHECKBOX. Lock /unlock
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK BL1.
" Declarations
TYPES: BEGIN OF st_parea,
pareaid TYPE /SAPAPO/TS_PAREAID, " Planning area
keyfigure TYPE rsiobjnm, " Key figure
END OF st_parea,
BEGIN OF st_pver,
pareaid TYPE /SAPAPO/TS_PAREAID, " Planning area
VRSIOID TYPE /SAPAPO/VRSIOID, " Planning version
END OF st_pver.
DATA: it_parea TYPE STANDARD TABLE OF st_parea, " Internal table
it_pver TYPE STANDARD TABLE OF st_pver,
wa_parea TYPE st_parea, " Work area
wa_pver TYPE st_pver.
DATA :lt_selection TYPE /sapapo/ts_iobj_selection_tab,
ls_selection TYPE /sapapo/ts_iobj_selection,
lS_LOCK_STR TYPE /SAPAPO/TS_LC_LOCK_STR,
iv_lock TYPE as4flag.
*DATA : version TYPE /sapapo/iobjnm VALUE '000'.
" selecting values
SELECT pareaid vrsioid
FROM /SAPAPO/TSVERSIO
INTO TABLE it_pver
WHERE pareaid eq s_parea
AND vrsioid eq s_pvers.
IF sy-subrc = 0.
LOOP AT it_pver INTO wa_pver.
ls_selection-iobjnm = gs_c_iobjnm-version.
ls_selection-sign = 'I'.
ls_selection-option = 'EQ'.
ls_selection-low = wa_pver-vrsioid.
APPEND ls_selection TO lt_selection.
ENDLOOP.
ENDIF.
" If locking is selected
IF s_lock = 'X'.
CALL FUNCTION '/SAPAPO/TS_DM_LOCK_UNLOCK'
EXPORTING
iv_pareaid = s_parea
iv_vrsioid = s_pvers
iv_lock = 'X'
* IMPORTING
* EV_USER =
* ES_LOCK_STR =
changing
ct_selection = lt_selection
EXCEPTIONS
ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
write: 3 s_parea ,15 ' Entered planning area has been locked'.
ENDIF.
" If unlocking
ELSEIF s_lock = ' '.
iv_lock = ' ' .
CALL FUNCTION '/SAPAPO/TS_DM_LOCK_UNLOCK'
EXPORTING
iv_pareaid = s_parea
iv_vrsioid = s_pvers
iv_lock = ' '
* IMPORTING
* EV_USER =
* ES_LOCK_STR = ls_lock_str
changing
ct_selection = lt_selection
EXCEPTIONS
ERROR = 1
OTHERS = 2
.
iv_lock = ' ' .
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
write: 3 s_parea ,15 ' Entered planning area has been unlocked'.
ENDIF.
ENDIF.