PR/PO Approval LOA (Limit of Authority)
For the release strategy setup based on my company procurement LOA (Limit of Authority), manager are allow to approve purchases up $10,000, Senior Manager up $100,000, CEO > 1 million etc.
This type of LOA should it be apply at Purchase Requisition or Purchase Order release strategy, what are the usual business practise for this LOA in PR or PO?
Hi,Eric
Did you create Characteristics for the LOA(table name:CEBAN,field name:GFWRT).Then add this Characteristics in class and assign the relevant class to release group.
In the release strategy , you could make the decision for release group base on limit of amout for high level people in your company.
Dick Hua.
Similar Messages
-
Hi all,
I create rule for LOA with approval-group chain of authority Action Type, when i test it in the Test Workbench it working fine, but when i create leave for the employee it use the seeded rule SSHR Rule for at most 10 approvers in Supervisor chain, i don't know why?? could please advise??
please note that i use the following conditions in my rule :
WORKFLOW_PROCESS_NAME in (HR_LOA_JSP_PRC)
HR_IS_LEAVE_OF_ABSENCE_SS is True
and i remove the HR_LOA_JSP_PRC vluse from the seeded condition for the WORKFLOW_PROCESS_NAME
RegardsHi,
Have you checked to make sure the menu function for Absence Management is using the HR_LOA_JSP_PRC Process? Looking at my local instance (12.1.3) by default it uses HR_GENERIC_APPROVAL_PRC.
You can also see from the URL.
i.e.
OA.jsp?page=/oracle/apps/per/selfservice/absence/webui/AbsenceHomePagePG...&pAMETranType=SSHRMS&pAMEAppId=800&pProcessName=HR_GENERIC_APPROVAL_PRC&pItemType=HRSSA&pCalledFrom=HR_LOA_SS
Hope that helps. -
Problem in N-STEP Approval BADI
Hi ,
I'am new to Workflows,I need your guidance in finishing
the Item_level Approval BADI.
I'am working on N-Step Approval Badi(Item Level Implementation)
I have pasted the code here.There will be Multiple levels(Max 15 Levels) of Approvals.
When a new Shopping cart is created this BADI is not working.
Can you please suggest me, am i missing something in the code.?.I'am also new to ABAP but i hope i'am managing with it.
Please Help me out.
METHOD if_ex_bbp_wfl_approv_badi~get_remaing_approvers .
Interface parameters:
OBJECT_ID TYPE CRMT_OBJECT_ID "Import
OBJECT_TYPE TYPE CRMT_SUBOBJECT_CATEGORY "Import
GUID TYPE BBP_GUID_32 "Import
ACTUAL_APPROVAL_INDEX TYPE SWH_NUMC10 "Import
APPROVAL_HISTORY_TABLE TYPE BBP_WFL_APPROVAL_HISTORY_BADI "Import
APPROVAL_TABLE TYPE BBPT_WFL_APPROVAL_TABLE_BADI "Export
NO_FURTHER_APPROVAL_NEEDED TYPE BOOLEAN "Export
INCLUDE <swfcntn01>. "Workflow
DATA:
ls_header TYPE bbp_pds_sc_header_d,
lt_item TYPE TABLE OF bbp_pds_sc_item_d,
ls_item TYPE bbp_pds_sc_item_d,
lt_account TYPE TABLE OF bbp_pds_acc,
ls_account TYPE bbp_pds_acc,
lt_partner TYPE TABLE OF bbp_pds_partner,
ls_partner TYPE bbp_pds_partner,
lc_partner TYPE but000-partner,
lt_result_tab TYPE TABLE OF swhactor,
ls_result_tab TYPE swhactor,
lc_cost_ctr TYPE bbp_pds_acc-cost_ctr,
lv_co_code TYPE bbp_pds_sc_item_d-be_co_code,
lt_prodcat TYPE TABLE OF zmwfprodcat,
ls_prodcat TYPE zmwfprodcat,
Inserted by Rakesh Palle for Assets DR # D0001055958
lt_asset TYPE TABLE OF zmwfprodcat,
lt_final TYPE TABLE OF zmwfprodcat,
ls_asset TYPE zmwfprodcat,
ls_final TYPE zmwfprodcat,
lv_asset TYPE c,
End of insertion DR # D0001055958
Being D0001055958
lt_order TYPE TABLE OF zmwfprodcat,
ls_order TYPE zmwfprodcat,
lv_order TYPE c,
End D0001055958
lt_sets TYPE TABLE OF zmwf_sets,
ls_sets TYPE zmwf_sets,
lt_roles TYPE TABLE OF str_agr2,
ls_roles TYPE str_agr2,
lt_users TYPE TABLE OF str_agrs,
ls_users TYPE str_agrs,
lc_persnumber TYPE usr21-persnumber,
ls_approver TYPE bbp_wfl_approval_table_badi,
ls_approver_check TYPE bbp_wfl_approval_table_badi,
lv_guid TYPE crmd_orderadm_h-guid,
lv_call_value1 TYPE bbp_wfl_app_property,
ev_app_obj_guid TYPE bbp_guid_32,
lc_sobid TYPE req_name,
lc_objid TYPE hrp1001-objid,
lc_objid_s type hrp1001-objid,
lt_appr_def TYPE TABLE OF bbpt_wfl_lia_def,
lt_approver TYPE TABLE OF bbp_wfl_approval_table_badi,
lc_slapprover TYPE hrv1222a-low,
li_limit TYPE bbp_limit,
li_last_level TYPE zmwfprodcat-appr_level,
li_stepno TYPE i,
lv_index type i,
lc_stepno(3) TYPE c,
lc_first(1) TYPE c,
lc_pass(1) TYPE c,
li_last_setid LIKE ls_prodcat-setid,
c_cost_centre TYPE bbp_wfl_app_criterion VALUE 'COST_CTR',
li_stop_amt LIKE ls_header-total_value,
li_set_amt LIKE li_stop_amt,
lt_cost_ctr type table of zitem_costctr,
ls_cost_ctr type zitem_costctr,
ls_approval_item TYPE bbps_wfl_item_approval,
lt_approval_items TYPE TABLE OF bbps_wfl_item_approval.
Business objects type (local constants)
CONSTANTS:
c_shop TYPE crmt_subobject_category VALUE 'BUS2121',
c_aprover_value TYPE zmwf_setty VALUE 'AV',
c_comp_value TYPE zmwf_setty VALUE 'CD',
**// Begin D0001055958
c_ac_value TYPE zmwf_setty VALUE 'AC',
c_ad_value TYPE zmwf_setty VALUE 'AD',
c_oc_value TYPE zmwf_setty VALUE 'OC',
c_od_value TYPE zmwf_setty VALUE 'OD',
**// End D0001055958
c_yes(1) TYPE c VALUE 'X',
c_no(1) TYPE c VALUE ' ',
c_requisitioner TYPE bbp_pds_partner-partner_fct VALUE '00000016'.
**********begin of change D0001034557
TYPES : BEGIN OF ty_swhactor,
otype TYPE otype,
objid TYPE actorid,
END OF ty_swhactor.
DATA : lt_user TYPE TABLE OF ty_swhactor,
ls_user TYPE ty_swhactor,
v_guid TYPE BBP_GUID_32.
***********end of change D0001034557
***********begin of change D0001043944
DATA : lt_prodcat2 TYPE TABLE OF zmwfprodcat,
new_approval_table TYPE BBPT_WFL_APPROVAL_TABLE_BADI,
wa_new_approval_table TYPE BBP_WFL_APPROVAL_TABLE_BADI.
***********end of change D0001043944
*****Change by suresh D0001110145
data ws_set type zmwf_sets.
data cd_flag.
*****End of change by suresh D0001110145
DEFINE set_approval_level.
if lc_first = 'X' or
ls_prodcat-appr_level gt li_last_level or
ls_prodcat-setid ne li_last_setid. "D0001055958
add 1 to li_stepno.
clear lc_first.
endif.
ls_approver-approval_index = li_stepno.
END-OF-DEFINITION.
DEFINE set_approval_level_2.
if lc_first = 'X' or
ls_asset-appr_level gt li_last_level.
add 1 to li_stepno.
clear lc_first.
endif.
ls_approver-approval_index = li_stepno.
END-OF-DEFINITION.
DEFINE set_approval_description.
write li_stepno to lc_stepno left-justified.
concatenate 'Approval step #'
lc_stepno
into ls_approver-approval_description.
END-OF-DEFINITION.
CLEAR: lt_prodcat[], ls_approver.
CLEAR: li_stepno.
break-point.
map input data to local data
map char32 to raw16
MOVE guid TO lv_guid.
break-point.
IF object_type = c_shop.
get the details of the shopping cart
CALL FUNCTION 'BBP_PD_SC_GETDETAIL'
EXPORTING
i_guid = lv_guid
i_object_id = object_id
IMPORTING
e_header = ls_header
TABLES
e_item = lt_item
e_account = lt_account
e_partner = lt_partner.
Modification for Item-Level Approval-Start
select * from zitem_costctr
into table lt_cost_ctr.
lv_index = actual_approval_index.
if lv_index = 0.
lv_index = 1.
endif.
LI_STOP_AMT = LS_HEADER-TOTAL_VALUE.
Modification for Item-Level Approval-End
LOOP AT lt_item INTO ls_item.
Modification for Item-Level Approval-Start
if actual_approval_index le lv_index.
ls_approval_item-approval_item_guid = ls_item-guid.
READ TABLE lt_account INTO ls_account
WITH KEY p_guid = ls_item-guid.
if sy-subrc is initial.
READ TABLE LT_COST_CTR INTO LS_COST_CTR
WITH KEY COST_CENTER_NO = LS_ACCOUNT-COST_CTR.
LV_CALL_VALUE1 = LS_ACCOUNT-COST_CTR.
CALL FUNCTION 'BBP_WFL_DIN_APP_OBJ_GET'
EXPORTING
sc_guid = ls_header-guid
criterion1 = 'COST_CTR'
value1 = lv_call_value1
iv_item_value = ls_item-value
iv_add_value = 'X'
IMPORTING
approval_obj_guid = ev_app_obj_guid
TABLES
item_app_obj = item_approval_obj.
ls_approval_item-approval_object_guid = ev_app_obj_guid.
LS_APPROVAL_ITEM-APPROVAL_ITEM_GUID = LS_ITEM-GUID.
APPEND ls_approval_item TO lt_approval_items.
approval_table[] = lt_approver[].
Get the Object ID of user
SELECT SINGLE objid
INTO lc_objid
FROM hrp1001
WHERE sobid = ls_cost_ctr-CC_MANAGER_ID
AND otype = 'CP'
AND plvar = '01'.
IF sy-subrc NE 0.
EXIT.
ENDIF.
SELECT SINGLE objid
INTO lc_objid_s
FROM hrp1001
WHERE sobid = lc_objid
AND otype = 'S'
AND plvar = '01'.
IF sy-subrc NE 0.
EXIT.
ENDIF.
Get the Approver's Limit
CLEAR li_limit.
lc_sobid = ls_cost_ctr-CC_MANAGER_ID.
CALL FUNCTION 'BBP_BW_GET_APPR_LIMIT'
EXPORTING
i_userid = lc_sobid
IMPORTING
e_appr_limit = li_limit.
IF LI_LIMIT > LS_ITEM-VALUE. "LI_STOP_AMT.
SELECT SINGLE persnumber
INTO lc_persnumber
FROM usr21
WHERE bname = lc_sobid.
IF sy-subrc IS INITIAL.
SELECT name_text
INTO ls_approver-name
FROM adrp
UP TO 1 ROWS
WHERE persnumber = lc_persnumber
AND date_from LE sy-datum
AND date_to GE sy-datum.
ENDSELECT.
ENDIF.
ADD 1 TO li_stepno.
ls_approver-approval_index = li_stepno.
ls_approver-approval_agent = lc_SOBID.
set_approval_description.
APPEND ls_approver TO approval_table.
CLEAR ls_approver.
ELSE.
do.
Get the Object ID of user
CALL FUNCTION 'BBP_WFL_DIN_APP_OBJ_GET'
EXPORTING
sc_guid = ls_header-guid
criterion1 = 'COST_CTR'
value1 = lv_call_value1
iv_item_value = ls_item-value
iv_add_value = 'X'
IMPORTING
approval_obj_guid = ev_app_obj_guid
TABLES
item_app_obj = item_approval_obj.
ls_approval_item-approval_object_guid = ev_app_obj_guid.
LS_APPROVAL_ITEM-APPROVAL_ITEM_GUID = LS_ITEM-GUID.
APPEND ls_approval_item TO lt_approval_items.
CLEAR : LC_OBJID,LC_OBJID_S.
SELECT SINGLE objid
INTO lc_objid
FROM hrp1001
WHERE sobid = ls_cost_ctr-CC_MANAGER_ID
AND otype = 'CP'
AND plvar = '01'.
IF sy-subrc NE 0.
EXIT.
ENDIF.
SELECT SINGLE objid
INTO lc_objid_s
FROM hrp1001
WHERE sobid = lc_objid
AND otype = 'S'
AND plvar = '01'.
IF sy-subrc NE 0.
EXIT.
ENDIF.
Get the SL Approver
SELECT SINGLE low
INTO lc_slapprover
FROM hrv1222a
WHERE plvar = '01'
AND otype = 'S'
AND objid = lc_objid_s
AND begda LE sy-datum
AND endda GE sy-datum
AND attrib = 'SLAPPROVER'.
IF sy-subrc NE 0.
EXIT.
ENDIF.
Get the Approver's Limit
CLEAR li_limit.
lc_sobid = lc_slapprover+2.
CALL FUNCTION 'BBP_BW_GET_APPR_LIMIT'
EXPORTING
i_userid = lc_sobid
IMPORTING
e_appr_limit = li_limit.
SUBTRACT '.01' FROM li_limit. "D0001093425
IF li_limit GT 0.
Add the approver to the list
SELECT SINGLE persnumber
INTO lc_persnumber
FROM usr21
WHERE bname = lc_sobid.
IF sy-subrc IS INITIAL.
SELECT name_text
INTO ls_approver-name
FROM adrp
UP TO 1 ROWS
WHERE persnumber = lc_persnumber
AND date_from LE sy-datum
AND date_to GE sy-datum.
ENDSELECT.
ENDIF.
ADD 1 TO li_stepno.
ls_approver-approval_index = li_stepno.
ls_approver-approval_agent = lc_slapprover.
set_approval_description.
APPEND ls_approver TO approval_table.
CLEAR ls_approver.
ENDIF.
If the limit is greater than the stop amount, exit - we are finished
IF li_limit GE li_stop_amt.
EXIT.
ENDIF.
ENDDO.
endif.
endif.
ENDIF.
endloop.
data : cc type BBP_STEP_DESCRIPTION value 'CoCentre_Approvers'.
if actual_approval_index le lv_index.
CALL FUNCTION 'BBP_WFL_DIN_FILL_APPROVER'
EXPORTING
iv_approval_index = lv_index
ic_step_description = cc
iv_criterion1 = 'COST_CTR'
TABLES
it_approval_def = lt_appr_def
it_approval_object = item_approval_obj
et_approver = lt_approver
it_approval_items = lt_approval_items.
endif.
item_approval_table[] = lt_approval_items[].
approval_table[] = lt_approver[].
endif.
Modification for Item-Level Approval-End
Use the product category to link to the Product Category Approval
table and use the corresponding approver(s) for the total shopping
cart value.
SELECT *
INTO TABLE lt_prodcat
FROM zmwfprodcat.
WHERE catid LIKE ls_item-category_id.
IF sy-subrc IS INITIAL.
****begin of change D0001034557
***//Buyer to be the first approver
MOVE lv_guid TO v_guid.
READ TABLE lt_account INTO ls_account
WITH KEY p_guid = ls_item-guid.
****Begin of change by suresh for adding codition for buyer determination
****for company codes 7000 and greater D0001110145
clear cd_flag.
select single * into ws_set
from ZMWF_SETS
where setid = 'FCD1'.
if ( ls_item-be_co_code GE ws_set-val_low and
ls_item-be_co_code LE ws_set-val_high ).
cd_flag = 'X'.
endif.
IF ( ls_item-itm_type = 'LIMI' OR
ls_item-product_type = '02' OR
ls_account-acc_cat = 'AS' ) AND
cd_flag is initial.
*****end of changes by suresh D0001110145
Begin of changes by Suresh-EBDK902401
Added the Object Type and Object ID
CALL FUNCTION 'BBP_PDH_WFL_GET_PURCHASER_LIST'
EXPORTING
IV_GUID = v_guid
IV_OBJECT_TYPE = 'BUS2121'
IV_OBJECT_ID = OBJECT_ID
IV_GET_FIRST_PURCH_FROM_GROUP = 'X'
TABLES
ET_USER = lt_user.
***End of changes by Suresh-EBDK902401
LOOP AT lt_user INTO ls_user.
LOOP AT lt_prodcat INTO ls_prodcat.
IF NOT ls_prodcat-bname IS INITIAL.
CONCATENATE 'US' ls_user-objid INTO
ls_approver-approval_agent.
READ TABLE approval_table INTO ls_approver_check
WITH KEY approval_agent =
*ls_approver-approval_agent
IF SY-SUBRC NE 0.
set_approval_level.
set_approval_description.
ls_approver-name = ls_approver-approval_agent.
APPEND ls_approver TO approval_table.
CLEAR ls_approver-name.
ENDIF.
ENDIF.
CLEAR ls_prodcat.
ENDLOOP.
CLEAR ls_user.
ENDLOOP.
ENDIF.
CLEAR ls_account.
****end of change D0001034557
****begin of change D0001043944
**//Special Approvers to be right after the buyer
IF NOT ls_item-z_spl_approval IS INITIAL.
SELECT * INTO TABLE lt_prodcat2
FROM zmwfprodcat
WHERE setid = ls_item-z_spl_approval.
SORT lt_prodcat2 BY catid appr_level.
LOOP AT lt_prodcat2 INTO ls_prodcat.
IF NOT ls_prodcat-bname IS INITIAL.
CONCATENATE 'US' ls_prodcat-bname INTO
ls_approver-approval_agent.
READ TABLE approval_table INTO ls_approver_check
WITH KEY approval_agent = ls_approver-approval_agent.
IF SY-SUBRC NE 0.
set_approval_level.
set_approval_description.
ls_approver-name = ls_approver-approval_agent.
APPEND ls_approver TO approval_table.
CLEAR ls_approver-name.
li_last_level = ls_prodcat-appr_level.
li_last_setid = ls_prodcat-setid.
ENDIF.
ENDIF.
CLEAR: ls_prodcat,ls_approver_check.
ENDLOOP.
ENDIF.
****end of change D0001043944
LOOP AT lt_prodcat INTO ls_prodcat.
IF NOT ls_item-category_id CP ls_prodcat-catid.
DELETE TABLE lt_prodcat FROM ls_prodcat.
ENDIF.
ENDLOOP.
Inserted by Rakesh Palle for Assets DR # D0001055958
LOOP AT lt_prodcat INTO ls_asset WHERE setid = 'AS01'.
APPEND ls_asset TO lt_asset.
ENDLOOP.
Begin D0001055958
LOOP AT lt_prodcat INTO ls_order WHERE setid = 'OR01'.
APPEND ls_order TO lt_order.
ENDLOOP.
End D0001055958
DELETE lt_prodcat WHERE setid = 'AS01' OR setid = 'OR01'.
"D0001055958
End of insertion DR # D0001055958
SORT lt_prodcat BY catid setid appr_level ASCENDING.
lc_first = 'X'.
SELECT *
INTO TABLE lt_sets
FROM zmwf_sets
FOR ALL ENTRIES IN lt_prodcat
WHERE setid = lt_prodcat-setid.
SORT lt_prodcat BY catid setid appr_level ASCENDING.
lc_first = 'X'.
LOOP AT lt_prodcat INTO ls_prodcat.
Check the set data
IF NOT ls_prodcat-setid IS INITIAL.
READ TABLE lt_account INTO ls_account
WITH KEY p_guid = ls_item-guid.
***// Changed by Rakesh Palle to get ACC_STR & COST OBJ
***// if cost ctr is initial DR # D0001055958
IF ls_account-cost_ctr IS INITIAL.
IF ls_account-acc_str IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_account-cost_obj
IMPORTING
output = lc_cost_ctr.
ELSE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_account-acc_str
IMPORTING
output = lc_cost_ctr.
ENDIF.
ELSE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_account-cost_ctr
IMPORTING
output = lc_cost_ctr.
ENDIF.
***// End of insertion DR # D0001055958
Check for valid Cost Center (set type = space)
lc_pass = c_no.
LOOP AT lt_sets INTO ls_sets
WHERE setid = ls_prodcat-setid
AND setty = space.
IF ls_sets-val_low = lc_cost_ctr OR
( ls_sets-val_low LE lc_cost_ctr AND
ls_sets-val_high GE lc_cost_ctr ).
lc_pass = c_yes.
EXIT.
ENDIF.
ENDLOOP.
IF sy-subrc IS INITIAL AND
lc_pass = c_no.
CONTINUE.
ENDIF.
***// Inserted by Rakesh Palle for Company code verification
Check for valid Company Code (set type = CC)
LOOP AT lt_sets INTO ls_sets
WHERE setid = ls_prodcat-setid
AND setty = c_comp_value.
IF ls_sets-val_low = ls_item-be_co_code OR
( ls_sets-val_low LE ls_item-be_co_code AND
ls_sets-val_high GE ls_item-be_co_code ).
lc_pass = c_yes.
EXIT.
ENDIF.
ENDLOOP.
IF sy-subrc IS INITIAL AND
lc_pass = c_no.
CONTINUE.
ENDIF.
***// End of Insertion for Company code verification
***// Inserted by Rakesh Palle for Asset Company code verification
Check for valid Asset Company Code (set type = AD)
DR # D0001055958
IF lv_asset = 'X'.
LOOP AT lt_sets INTO ls_sets
WHERE setid = ls_prodcat-setid
AND setty = c_ad_value.
IF ls_sets-val_low = ls_item-be_co_code OR
( ls_sets-val_low LE ls_item-be_co_code AND
ls_sets-val_high GE ls_item-be_co_code ).
lc_pass = c_yes.
EXIT.
ENDIF.
ENDLOOP.
IF sy-subrc IS INITIAL AND
lc_pass = c_no.
CONTINUE.
ENDIF.
***// End of Asset Company code verification
***// Check for valid Cost Center (set type = AC)
LOOP AT lt_sets INTO ls_sets
WHERE setid = ls_prodcat-setid
AND setty = c_ac_value.
IF ls_sets-val_low = lc_cost_ctr OR
( ls_sets-val_low LE lc_cost_ctr AND
ls_sets-val_high GE lc_cost_ctr ).
lc_pass = c_yes.
EXIT.
ENDIF.
ENDLOOP.
IF sy-subrc IS INITIAL AND
lc_pass = c_no.
CONTINUE.
ENDIF.
ENDIF.
***// End of Asset Cost Center
***// Inserted by Rakesh Palle for Order Company code verification
Check for valid Order Company Code (set type = OD)
IF lv_order = 'X'.
LOOP AT lt_sets INTO ls_sets
WHERE setid = ls_prodcat-setid
AND setty = c_od_value.
IF ls_sets-val_low = ls_item-be_co_code OR
( ls_sets-val_low LE ls_item-be_co_code AND
ls_sets-val_high GE ls_item-be_co_code ).
lc_pass = c_yes.
EXIT.
ENDIF.
ENDLOOP.
IF sy-subrc IS INITIAL AND
lc_pass = c_no.
CONTINUE.
ENDIF.
***// End of Order Company code verification
***// Check for valid Order Cost Center (set type = OC)
LOOP AT lt_sets INTO ls_sets
WHERE setid = ls_prodcat-setid
AND setty = c_oc_value.
IF ls_sets-val_low = lc_cost_ctr OR
( ls_sets-val_low LE lc_cost_ctr AND
ls_sets-val_high GE lc_cost_ctr ).
lc_pass = c_yes.
EXIT.
ENDIF.
ENDLOOP.
IF sy-subrc IS INITIAL AND
lc_pass = c_no.
CONTINUE.
ENDIF.
ENDIF.
***// End of Order Cost Center
***// DR # D0001055958
Check for SL Approver Value
LOOP AT lt_sets INTO ls_sets
WHERE setid = ls_prodcat-setid
AND setty = c_aprover_value.
IF NOT ls_sets-val_low CN '1234567890 .'.
TRANSLATE ls_sets-val_low USING ', '.
CONDENSE ls_sets-val_low NO-GAPS.
li_set_amt = ls_sets-val_low.
IF ls_header-total_value LT li_set_amt AND
li_set_amt GT li_stop_amt.
li_stop_amt = li_set_amt.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
CHECK ls_prodcat-val_from LE ls_header-total_value
AND ls_prodcat-val_to GE ls_header-total_value.
Begin D0001055958
IF lc_pass = c_no.
CONTINUE.
ENDIF.
End D0001055958
Handle Approver Name - Explicit
IF NOT ls_prodcat-bname IS INITIAL.
CONCATENATE 'US' ls_prodcat-bname INTO
ls_approver-approval_agent.
READ TABLE approval_table INTO ls_approver_check
WITH KEY approval_agent = ls_approver-approval_agent.
IF sy-subrc NE 0.
set_approval_level.
set_approval_description.
ls_approver-name = ls_prodcat-name_text.
APPEND ls_approver TO approval_table.
CLEAR ls_approver-name.
li_last_level = ls_prodcat-appr_level.
li_last_setid = ls_prodcat-setid. "D0001055958
ENDIF.
ENDIF.
Handle Approver Names - Derive from Role
IF NOT ls_prodcat-agr_name IS INITIAL.
ls_roles-agr_name = ls_prodcat-agr_name.
APPEND ls_roles TO lt_roles.
CALL FUNCTION 'BBP_READ_USERS_OF_ROLES'
TABLES
roles = lt_roles
users_of_roles = lt_users
EXCEPTIONS
no_users_available = 1
OTHERS = 2.
IF sy-subrc IS INITIAL.
LOOP AT lt_users INTO ls_users.
SELECT SINGLE persnumber
INTO lc_persnumber
FROM usr21
WHERE bname = ls_users-uname.
IF sy-subrc IS INITIAL.
SELECT name_text
INTO ls_approver-name
FROM adrp
UP TO 1 ROWS
WHERE persnumber = lc_persnumber
AND date_from LE sy-datum
AND date_to GE sy-datum.
ENDSELECT.
ENDIF.
CONCATENATE 'US' ls_users-uname INTO
ls_approver-approval_agent.
READ TABLE approval_table INTO ls_approver_check
WITH KEY approval_agent = ls_approver-approval_agent.
IF sy-subrc NE 0.
set_approval_level.
set_approval_description.
APPEND ls_approver TO approval_table.
CLEAR ls_approver-name.
li_last_level = ls_prodcat-appr_level.
li_last_setid = ls_prodcat-setid. "D0001055958
ENDIF.
ENDLOOP.
ENDIF.
REFRESH: lt_roles, lt_users.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
Add the SL approvers
CLEAR lc_sobid.
Get the requisioner - in case the cart is created 'on behalf of'
READ TABLE lt_partner INTO ls_partner
WITH KEY partner_fct = c_requisitioner.
IF sy-subrc IS INITIAL.
SELECT SINGLE partner INTO lc_partner
FROM but000
WHERE partner = ls_partner-partner_id.
CALL FUNCTION 'RH_STRUC_GET'
EXPORTING
act_otype = 'BP'
act_objid = lc_partner
act_wegid = 'BP_US'
TABLES
result_tab = lt_result_tab
EXCEPTIONS
no_plvar_found = 1
no_entry_found = 2
OTHERS = 3.
READ TABLE lt_result_tab INTO ls_result_tab WITH KEY otype = 'US'.
lc_sobid = ls_result_tab-objid.
ENDIF.
If the above code failed for any reason use the Created By user as the
requisioner
IF lc_sobid IS INITIAL.
lc_sobid = ls_header-created_by.
ENDIF.
Set the stop amount to the total value of the cart
IF li_stop_amt IS INITIAL.
li_stop_amt = ls_header-total_value.
ENDIF.
DO.
Get the Object ID of user
SELECT SINGLE objid
INTO lc_objid
FROM hrp1001
WHERE sobid = lc_sobid
AND otype = 'S'
AND plvar = '01'.
IF sy-subrc NE 0.
EXIT.
ENDIF.
Get the SL Approver
SELECT SINGLE low
INTO lc_slapprover
FROM hrv1222a
WHERE plvar = '01'
AND otype = 'S'
AND objid = lc_objid
AND begda LE sy-datum
AND endda GE sy-datum
AND attrib = 'SLAPPROVER'.
IF sy-subrc NE 0.
EXIT.
ENDIF.
**break-point.
Get the Approver's Limit
CLEAR li_limit.
lc_sobid = lc_slapprover+2.
CALL FUNCTION 'BBP_BW_GET_APPR_LIMIT'
EXPORTING
i_userid = lc_sobid
IMPORTING
e_appr_limit = li_limit.
SUBTRACT '.01' FROM li_limit. "D0001093425
IF li_limit GT 0.
Add the approver to the list
SELECT SINGLE persnumber
INTO lc_persnumber
FROM usr21
WHERE bname = lc_sobid.
IF sy-subrc IS INITIAL.
SELECT name_text
INTO ls_approver-name
FROM adrp
UP TO 1 ROWS
WHERE persnumber = lc_persnumber
AND date_from LE sy-datum
AND date_to GE sy-datum.
ENDSELECT.
ENDIF.
ADD 1 TO li_stepno.
ls_approver-approval_index = li_stepno.
ls_approver-approval_agent = lc_slapprover.
set_approval_description.
APPEND ls_approver TO approval_table.
CLEAR ls_approver.
ENDIF.
If the limit is greater than the stop amount, exit - we are finished
IF li_limit GE li_stop_amt.
EXIT.
ENDIF.
ENDDO.
ENDIF.
Inserted by Rakesh Palle for Order
DR # D0001055958
IF lv_order = 'X'.
lc_first = 'X'.
LOOP AT lt_order INTO ls_order.
CHECK ls_order-val_from LE ls_header-total_value
AND ls_order-val_to GE ls_header-total_value.
Handle Approver Name - Explicit
IF NOT ls_order-bname IS INITIAL.
CONCATENATE 'US' ls_order-bname INTO
ls_approver-approval_agent.
READ TABLE approval_table INTO ls_approver_check
WITH KEY approval_agent = ls_approver-approval_agent.
IF sy-subrc NE 0.
set_approval_level_2.
set_approval_description.
ls_approver-name = ls_order-name_text.
APPEND ls_approver TO approval_table.
CLEAR ls_approver-name.
li_last_level = ls_order-appr_level.
ENDIF.
ENDIF.
Handle Approver Names - Derive from Role
IF NOT ls_order-agr_name IS INITIAL.
ls_roles-agr_name = ls_order-agr_name.
APPEND ls_roles TO lt_roles.
CALL FUNCTION 'BBP_READ_USERS_OF_ROLES'
TABLES
roles = lt_roles
users_of_roles = lt_users
EXCEPTIONS
no_users_available = 1
OTHERS = 2.
IF sy-subrc IS INITIAL.
LOOP AT lt_users INTO ls_users.
SELECT SINGLE persnumber
INTO lc_persnumber
FROM usr21
WHERE bname = ls_users-uname.
IF sy-subrc IS INITIAL.
SELECT name_text
INTO ls_approver-name
FROM adrp
UP TO 1 ROWS
WHERE persnumber = lc_persnumber
AND date_from LE sy-datum
AND date_to GE sy-datum.
ENDSELECT.
ENDIF.
CONCATENATE 'US' ls_users-uname INTO
ls_approver-approval_agent.
READ TABLE approval_table INTO ls_approver_checkhi,
let me know the following things
1) how many levels are working ? is the workitem send to the second approver (or) not?
is the issue occuring with the first approver?
2) are you using the index value correctly in your approval badi? please check out.
Badi is called during each approval stage
3) what is the value of approval_state in the workflow container ?
if the value is 5 --> it will go to the next approver.
4) have you been able to debug --> the approval process --> this will enable you to find root cause of the issue.
check out FM
BBP_WFL_DIN_APPR_CONTAINER_SET --> this is the point where the approval update happens --> when the approver approves (or) rejects the cart. -
Approval for cheque while payment
hi
I require the approval for cheque while payment to vendor. guide me how to do that. before every check printing we need approval from the higher authority.
Thankshi all,
i started this project again after so long break....,
my steps to complete this task-
i copied the program / report- sapf110o to z* and started building the whole scenario. and will try to assign the workflow as well which is related to miro , ws20000397(but still not sure).
logic:
only for invoice payment.
only date as selection my program will show all the proposal on that date. in second screen vendor level approval is available and in third level detailed level approval is available.and in third screen you can cross check accounting document or display miro.
it has three level approval, will update table and this will trigger workflow(while running f110) so need to do some enhancement on f110 as well to trigger workflow.
thanks and reg,
Ahmed, -
Enhanced book for iPad, built on iBooks Author
Hi all
I am sorry if these are similar questions to ones asked before, but I wondered if things might be different since they were last asked.
I have delivered an enhanced book built for iPad and it is currently in the review status, not in 51 stores. My questions (of which I have heard many myths about):
1) As it's an enhanced book (created on iBooks Author), there are lots of videos, galleries etc which make the publication about 1 gig. I have heard that although there is a 2 gig limit, some authors have had responses from Apple saying that it should be kept to max 200mb and therefore rejected. True or false do you reckon?
2) Mine is a travel guide about a specific area of Spain and it is all about solutions to the traveller. Therefore as well as lots of text, there is a Useful Links section that links to companies websites such as car hire - their logos are next to the URL's in my book. Do you think Apple will be ok with their logos visible and external web links? It is simple to remove it if necessary but in truth it is a resource for my readers.
3) I have heard varying reports of 3 hours to 55 days for the review process to be complete. Does anybody know if it is longer for an enhanced book due to the complexitied of its build?
4) I have heard reports that if it fails, Apple will tell you how to rectify it. Is this true and is it easy to resubmit?
5) I have also heard reports of Apple simply rejecting without explanation. That would be so painful. I have spent 6 months and a lot of investment. I would be devestated. is this true?
6) Any other advice? It has been in review for 3 days only so far. Any ideas on current wait time for enhanced books built for ipad, created on iBooks Author?
It's an anxious time isn't it?!
Thanks.1. Max size is 3 GB, but take into acount you want updates at some stage and need to allow "space"
2. URLs are usually excepted IF they are not competitors of Apple iBooks Store - ie Amazon. Any logo is usually copyrighted by the company. Any potential copyright infringements could be rejected by th review team.
3. Time taken in Review depends how busy they are without regard to your content.
4. If your book fails the review, you will be issued a ticket - A recent email advised changed to the ticketing procedures.
Ticket Catalog Report
The Catalog Reports module on iTunes Connect now contains a Ticket Catalog Report. The report contains details for all tickets that have been assigned to your iTunes Connect account.
iBooks Store Formatting Guidelines Update
The iBooks Store Formatting Guidelines include important information to help you avoid common errors when publishing on the iBooks Store. The new version of the guidelines includes updated information for copyrighted terms, supported languages, series metadata, What's New descriptions, book assets files, and more.
Download the updated iBooks Store Formatting Guidelines from the Deliver Your Content module on iTunes Connect.
5. The review team will pass or fail your book, fail is dealt with above. Pass... means its in the store. All you need to do is keep checking status in iTC.
6. is the same asnwer as 3. You wait and Check in iTC to monitor if your book is passed or ticketed.
Other advice, open iTC > Deliver your Content > on the top right are a number of PDF, download and read study them. Below them is a video.. take time to view the video and take notes.
The above extracts are from an email from iBooks, the links should still work, if not they are basically to open your iTunes Connect - Deliver your content section.
Last bit of advice, check everything at least twice before uploading to the store. Remember issues with copyright. Dont use anything just because its online. Dont copy text or images from other websites and give credits/links to any that are subject to Common Licence conditions... and finally.. be patient, time , tide and Apple move at their own speed. -
Shopping cart approval substitution not working on 2 levels
Hi,
We have a few unique cases in approval substitution.
We have approver A for whom a substitute is maintained in HRUS_D2 table for period of 3 months as active substitute.
so normally any shopping cart which has been created for approver A sends a notification to approver B also.
but recently what happened is approver C has been maintained an active substitute in HRUS_D2 table for approver B .
so logically any SC created for Approver A should get sent to Approver C as Approver C is substitute for Approver B who is substitute for approver A.
What is happening is that Approver C does not get any notification of any shopping carts created for approver A approval. But if we login with approver B details the we can see the SC created and awaiting approval.
Can somebody tell us why SC are not flowing to approver C for approval.
Both are maintained as active approvers in HRUS_D2 table
Thanks R.M.Hello
This is not a bug. It is the fact that Approver A has only given
approval authority to Approver B, but not to Approver C.
In order for Approver C to have authority to approve Approver A's workitems
he will have to be specifically authorized to do so, just as Approver B was.
Best Regards
SZD -
Showing only Approved Metapedia Terms
This question is two fold:
1) Is there a way to only show approved metapedia terms?
2) How have others managed their metapedia terms in a "multi-tier" environment (dev / qa / prod)? Do you promote your terms / changes through different environments or do you manage your terms in one environment? What is SAPs suggested best practice here?
I'm trying to achieve the scenario where metapedia users only see approved terms. Right now we are controlling this through drafting the terms in one environment and then exporting / importing them into another environment as approved.
Thanks!!
TomThis can be achieved by setting up appropriate user permissions. Note that for Metapedia there are predefined user groups - Metapedia User, Metapedia Author, Metapedia Approver and Metapedia Administrator.
Among these groups Metapedia Users can only view approved terms. Metapedia Author, Approvers participate in the process of creating the draft definition, refining it and approving it. Once the term is approved, it is visible to Metapedia Users. Also if for some reason author starts revising an approved term - the changes made by the authors are not visible to Metapedia User until the revised term definition is approved.
Given this context, you should be able to manage all Metapedia activities in the same environment. You do not need to have separate Dev and Prod environment for Metapedia scenarios. -
I have created a web service to be consumed by a program outside of SAP.
I have had a userid created for this 3rd party company that they will use.
I want to limit what that userid can execute to only that web service.
I know that is possible - and the security people know how to do it as well.
I am not a security person - so not sure how all of that works.
The security people search for it by the name of the web service that I made up.
They have a drop down and say search by WS and it will list the web services.
The problem is - the web service isn't in the list.
I have turned the function into a web service through SE80.
I have activated the service through SOAMANAGER.
I checked to make sure the service is active through SICF.
I have even run the service just through a web browser - but still the security people cannot see it.
The only way I have been able to make it show it is to create a C# program in Visual Studio and run the web service through C# into SAP.
Once I do that - then the security people can see the web service and limit the authority.
Has anyone else had this problem?
Or am I doing something wrong with defining the web service and activating it?
Thanks.
Scott OvermeyerHello,
Once the Web Service is active in SICF hierarchy, you should be able to add it to the specific role using PFCG. You may use External Service option with Service type 'WS'.
Thanks,
Venu -
Rejecting a Pending document Versus Rejecting an Approved document
I have Enterprise Wiki site collection which contains a document library.I have set the following settings for the document library:-
Require content approval for submitted items? >>> Set to Yes
Who should see draft items in this document library? >>> Only users who can approve items (and the author of the item)
Now I find that SP will implement these two misleading scenarios:-
If user with "Approve" permission reject an Approved version, then users with Read permission will get this message when they try to read the document:-
Sorry, this site hasn't been shared with you.
While If user with "Approve" permission reject Pending version , then users with Read permission will be able to see the latest approved version of the document.
So I have these two questions:-
Why SP is implementing these two different scenarios?
Is there a way to force my document library to always display the latest approved version of the document , when rejecting Approved or Pending versions?
ThanksContent approval is for approve/reject minor version. If you always need to show last major version then turn off content approval, then viewer (read only) user will see last major version.
I will suggest you to use publishing infrastructure rather than content approval.
refer - Enable publishing features
please "Propose as answer" if it help you, also Vote This As Helpful if like this post.
no i can define Content Approval for major version, here is the screen for version settings inside my document library:-
if i turn content approval off, then there will not be Pending documents , and if a user edit a document , then the document status is always be Approved ... However i want to have Pending status, and if a user Reject a document (either Approved or Pending)
then to force the document library to always display the latest approved version.... currently if the user reject an Approved version users will receive the following message when they try to read the document "Sorry, this site hasn't been shared with
you." ,, -
Facing 'No Approver Found for Purchase Requisition' error when using AME
Hello All,
I am trying to test one simple rule in AME. Below are the the details of the rule.
Rule name - VO Category = SUPPLIES.FACILITIES
Item Class - Header
Rule Type - List Creation
Conditions
1. ITEM_CATEGORY in (SUPPLIES.FACILITIES)
Condition Type - Ordinary
Attribute - ITEM_CATEGORY
Data Type - String
Item Class - Line Item
String Value - SUPPLIES.FACILITIES
2. TRANSACTION_SET_OF_BOOKS_ID is equal to 1
Condition Type - Ordinary
Attribute - TRANSACTION_SET_OF_BOOKS_ID
Data Type - Number
Item Class - Header
Details
TRANSACTION_SET_OF_BOOKS_ID is equal to 1
Actions
Action Type - approval-group chain of authority
Rule Type - Chain of Authority
Order No - 1
Ordering Mode - Serial
Voting Method - Serial
Action - Require approval from Facilities Approver Group
Approver Group Details
Name - Facilities Approver Group
Type - Static
Voting Method - Order Number
There are two member in this approver group
Approver Type Approver Order Number
HR People HR People: akshay7 1
HR People HR People: akshay8 2
Now when i create a requisition with akshay7 as preparer then following notification is displayed
To akshay7
Sent 21-May-2013 16:55:08
ID 4681179
Approval workflow database error occurs while approving Purchase Requisition 14315
Contact your system administrator to identify the problem and to use SQL*Plus or Workflow Monitor to reactivate the approval workflow where it left off.
Give your system administrator the following information:
PL/SQL procedure: POR_AME_REQ_WF_PVT.GET_NEXT_APPROVERS
Error: ORA-20001: The procedure getNextPosition could not find parent position for : HR Positions: 01.Jrbuyer
Both the employees have one supervisor.
How to reslove this error?
Thanks in advance.Hi Everyone,
The problem is solved now. The cause was that the test requisition that I was making was satisfying more than one rules and hence I end dated the remaining rules which solved the problem.
Thanks! -
Workflow for calendar event approval
I've got the following scenario:
A calender is set for data approval
The reviewer has an alert set for postings
A user posts an event
the reviewer gets an alert pointing them to the calender event. if they click on it
the reviewer opens the event and has an approve/reject button
does a notification go to the user telling them if it's been approve?
Is it possible to set up a workflow to have things work this way?
user posts an event
an email with an approve/reject button goes directly to the reviewer (not a link to the calendar)
the decision (approved/rejected) is sent back to the poster automatically upon hitting approve or reject
Approved events appear on the calendar for everybody to see
In the 2nd scenario, do you still need to have data approval set on the calendar - since you've using the workflow?
Also, how would you set up an email that allows the reviewer to approve/reject to both approve/reject and submit to continue processing?
Thanks for any help you can provide.
ajwHi Geek,
According to your description, my understanding is that you want to use a workflow to achieve your goal.
I recommend to use Start Approval Process action to meet your need.
Here are the detailed steps:
Set the “Require content approval for submitted items” to Yes in the calendar list and select “Only users who can approve items (and the author of the item)” under “Who should see draft items in this list”.
Create a workflow associated with the calendar list and set the workflow to start when an item is created.
Select Start Approval Process from Action, then click these users to set the approver(reviewer). Add a Set Workflow Variable action before the Start Approval Process step and change the settings to be: Set Variable: EnableContentApproval to Yes.
Click Approval in the step Start Approval Process, click Change the behavior of a single task under Customization.
Scroll down to the step When a Task Completes, add Send an Email action below the step If Current Task:Outcome equals Approved and step Else if Current Task:Outcome equals Rejected.
Please refer to the picture below:
After that, the approver(reviewer) will get the email and he/she can click Open Task button in the email to review and complete the task. When the approver approve/reject the task, the user will get an email and the rejected events cannot be viewed by the
users who have no permission to see the draft items.
Best regards.
Thanks
Victoria Xia
TechNet Community Support -
IRecruitment Create Vacancy Approval Notifications
Hi,
I have a client that wishes me to modify the content of the Approval Notification/Message sent to the approver. Is this possible and how to you do it?
In the User Guide it mentions using Application Developer and changing the messages but it is very limited and does not allow me to change this particular message.
I have looked at the workflow 'HRSS' but it uses the generic approvals workflow but I can't see how it generates the message. It mentions in the User Guide to use XML and business events but again gives very little detail.
Can anyone provide more information on how to do this?
CheersI have edited one of the Rules created in Transaction Type: iRecruitment Vacancy Approval. Under the Actions Section, I have added the approver 2,3,4
Action Type Action
approval-group chain of authority Require approval from APPROVER 1
approval-group chain of authority Require approval from APPROVER 2
approval-group chain of authority Require approval from APPROVER 3
approval-group chain of authority Require approval from APPROVER 4
approval-group chain of authority Require approval from HEAD_OF_HR1
approval-group chain of authority Require approval from HEAD_OF_HR2
but due to this change the approval is going to be in the sequential direction, for example APPROVER 1, APPROVER 2,3,4 then HEAD OF HR1,2 instead we need who ever approve first then it goes to 2nd level and approved by one of the head of hr as I mentioned above. Kindly tell me this action type I am using for this is correct or should we need to create another action type or should we need to amend approver group SQL statement or any other way which we can acheive the desired goal. I am looking forward to listen you soon and thanks in advance for you support
Edited by: user11969686 on Dec 11, 2009 6:26 AM -
IRecruitment Create Vacancy Approval need to change
Hi All,
I need to change the approval style of Create Vacancy, currently it is configured as follows
1. Approver 1 approves the vacancy
2 . Approver 2 Finally approves the vacancy after approver 1.
Now the change is the on level 1 we need to four approver who ever first approve the vacancy it goes to level 2 and on this level there would be two approvers whoever approves the vacancy no need for all in both level.
kindly tell me how can I configure Rules , Attributes, Conditions , actions and approver groups in AME business Analyst Resp.
Regards,I have edited one of the Rules created in Transaction Type: iRecruitment Vacancy Approval. Under the Actions Section, I have added the approver 2,3,4
Action Type Action
approval-group chain of authority Require approval from APPROVER 1
approval-group chain of authority Require approval from APPROVER 2
approval-group chain of authority Require approval from APPROVER 3
approval-group chain of authority Require approval from APPROVER 4
approval-group chain of authority Require approval from HEAD_OF_HR1
approval-group chain of authority Require approval from HEAD_OF_HR2
but due to this change the approval is going to be in the sequential direction, for example APPROVER 1, APPROVER 2,3,4 then HEAD OF HR1,2 instead we need who ever approve first then it goes to 2nd level and approved by one of the head of hr as I mentioned above. Kindly tell me this action type I am using for this is correct or should we need to create another action type or should we need to amend approver group SQL statement or any other way which we can acheive the desired goal. I am looking forward to listen you soon and thanks in advance for you support
Edited by: user11969686 on Dec 11, 2009 6:26 AM -
Legal Entity wise AP invoice approval workflow
HI All,
I m in the process of configuring AP Invoice approval workflow for multiple legal entities. Can someone pls instruct me how to set up different workflows for different legal entities.
My requirement is as follows:
Legal Entity A
If User Test 1 create AP Invoice then his invoice should go to approver1
Legal Entity B
If User Test 2 create AP Invoice then his invoice should go to approver2
I have done the set up for one legal entity and its working fine. I have used action type as " approval-group chain of authority" and used Approver type as HR People and assigned relevant approver to it. My problem is how can i segregate legal entity wise approvers. Because now both legal entities invoices are directing to same approver.
Thanks .Hi,
Using the Sysadmin responsibility, please submit "Workflow Background Process" with the below parameters and see if it helps:
Process Deferred: Y
Process Timeout: Y
Please also see the following notes;
How to Manually Process the Events from Workflow Queues When The Deferred Agent Listener Won't Start [ID 953103.1]
Workflow Background Process Does Not Progress Shipped Lines: Stuck in Fulfill - Deferred [ID 804133.1]
Hope this helps!
Best Regards -
Apple TV 2 will not play purchased videos from an authorized computer
I have been trying all night to get purchased videos from an authorized computer play on my Apple TV 2. My computer is authorized and I have not reached my limit of authorized computers. I even went as far as to completly reset all the settings on my Apple TV; the music plays fine and it can list all my availible video content but as soon as I select a video of any kind it gives me the following error: Authorization is Required. You must authorize your computer with the account used to purchased the content. I am going crazy, I can access the same videos from my Home Sharing on my iPhone or from another computer using iTunes. I have tried deauthorizing the computer several times with no luck. Any suggestions?
also could be your HDMI cable......
from another thread.....so exactly what does your Apple TV say to you exactly, when it won't play the movies???
"If this is for the new ATV2, then the cable you use to connect to your TV must be HDCP capable. Some are. Some aren't. I bought a cheap one that was not and it didn't work. I bought a slightly more expensive one that was HDCP compliant and all is fine now.
From the ATV webpage:
Compatible with high-definition TVs with HDMI and capable of 720p 60/50Hz (see note 2)
Bottom of page.
Note 2: Requires HDCP when playing protected content.
https://discussions.apple.com/message/12577679#12577679
Maybe you are looking for
-
Error in RWB for EbXML Message
Hello Experts, We are facing an issue with the Seeburger Adapter. When we trigger message TO THE sEEBURGER sYSTEM USING THE eBxml adapter, the message is successfully processed in PI 7.1 and shows a checkered flag. But on analyzing the related messag
-
Hi there, I recently purchased my father a mac mini to sit as a media centre under his LCD TV. All hooked up great and it all works very well... apart from audio CD's, they spin at a ridiculous speed meaning that when the sound is low all you can hea
-
Video chating with MS Messenger Live
can it be done in iChat? (newbie) many thanks, S
-
I have had this new MacBook Pro with Mountain Lion pre-installed, for a week now, migrating from OS 10.4.11 and installing new software and updates to old. I updated right away to 10.8.2. Strange things happen: - Windows and apps open mysteriously -
-
Mixed Signal Graph, Selected Cursors, and Cursor Position Problems
I'm trying to work around an issue with a single multiplot cursor on a mixed-signal graph (doesn't work right, R&D bug report #100830) by grabbing the selected cursor x-position and updating that position across all four cursors, as seen below: Howev