Quantcast
Channel: SCN : All Content - SAP Advanced Planning & Optimization (SAP APO)
Viewing all articles
Browse latest Browse all 782

/sapapo/ts_dm_lock_unlock in background

$
0
0

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.


Viewing all articles
Browse latest Browse all 782

Trending Articles