cancel
Showing results for 
Search instead for 
Did you mean: 

Sourcing Quick Question

former_member183819
Active Contributor
0 Kudos

hello All

Scenario

sc created by x user and it has two items

one item PO created successfully

another item was in the purchaser work list for cockpit

in the mean time, admin team deleted X user who requested a sc .

I am a purchaser . i can do sourcing in the cock pit successfully in other environment.

FYI - As i said the requestor of sc has been deleted.

Can purchaser can do sourcing for that second item or it will not allow to the sourcing int he cockpit.

fyi:- i could assign sos and PO created but it is not happening me to do soucrcing int he cockpit for the second item. it is like hide and seek game in the cockpit with the second item.NO PO created .

is it due to sc requestor was deleted?

BR

Muthu

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

You are right because of the deleted requestor, system is not letting you create the PO. One thing you can do have your developer create a simple Z report create for you so that when ever you have open items and some one is leaving , you can change the requestor and goods recipient for that user with the new person.

Other wise the only other SOX complied process will be the purchaser needs to mark the shopping cart complete in the sourcing, that will close the requisition and then let the new requestor enter the shopping cart once again.

Hope it will help !!!

Thanks

Padhi

former_member183819
Active Contributor
0 Kudos

Great Padhi.

my doubt is why i could do in different environment

have you ever faced this hide and seek game in cock pit?

Richardo :- Do you have any insight on this issue? Appreciate your help.

br

muthu

Former Member
0 Kudos

I hope you may get an error message something lie " Recipient xxxxxxx not found". Sometime if user id is also deleted CP id stays. Check the CP id in the system by hralxsync.

former_member183819
Active Contributor
0 Kudos

we did not get this message . sc item allowed to assign vendor but create po will not happen.

since user has been deleted permanently .

looking for process the same sc item in the cockpit. any easy work around rather than complete.

br

muthu

Former Member
0 Kudos

Hi,

Please use this below program to change the user id from one person to other. This was given by sap earlier.

{REPORT Z_SRM_CHANGE_PGUID_002.

TABLES: crmd_partner,

but000.

DATA: lt_relationships LIKE bapibus1006_relations OCCURS 0,

lt_return LIKE bapiret2 OCCURS 0,

cs_relationship LIKE bapibus1006_relations,

iv_partner_guid TYPE bapibus1006_head-partnerguid.

DATA: l_partner_org TYPE bu_partner,

l_addr_num TYPE ad_addrnum,

l_addresses_int LIKE bapibus1006_addresses_int

OCCURS 0 WITH HEADER LINE,

l_return LIKE bapiret2 OCCURS 0.

DATA: lt_partner TYPE STANDARD TABLE OF bbp_pds_partner,

lt_partner_c TYPE STANDARD TABLE OF bbp_pds_partner,

wa_partner TYPE bbp_pds_partner,

lt_but000 TYPE TABLE OF but000,

po_header LIKE bbp_pds_po_header_d,

sc_header LIKE bbp_pds_sc_header_d,

cf_header LIKE bbp_pds_conf_header_d,

bid_header LIKE bbp_pds_bid_header_d,

ctr_header LIKE bbp_pds_ctr_header_d,

newguid LIKE crmd_partner-guid.

PARAMETERS: p_number LIKE crmd_orderadm_h-object_id OBLIGATORY,

p_ptype LIKE crmd_orderadm_h-process_type OBLIGATORY

MATCHCODE OBJECT bbp_process_type,

oldbp LIKE but000-partner OBLIGATORY,

newbp LIKE but000-partner OBLIGATORY,

p_test AS CHECKBOX.

START-OF-SELECTION.

  • Need to call BP GUID of newbp

SELECT SINGLE partner_guid

FROM but000

INTO newguid

WHERE partner = newbp.

  • call Document data.

CASE p_ptype.

WHEN 'ECPO'.

CALL FUNCTION 'BBP_PD_PO_GETDETAIL'

EXPORTING

i_object_id = p_number

IMPORTING

e_header = po_header

TABLES

e_partner = lt_partner.

PERFORM get_chgversion_partner TABLES lt_partner_c

USING po_header-guid.

IF NOT lt_partner_c[] IS INITIAL.

APPEND LINES OF lt_partner_c TO lt_partner.

ENDIF.

WHEN 'SHC'.

CALL FUNCTION 'BBP_PD_SC_GETDETAIL'

EXPORTING

i_object_id = p_number

IMPORTING

e_header = sc_header

TABLES

e_partner = lt_partner.

PERFORM get_chgversion_partner TABLES lt_partner_c

USING sc_header-guid.

IF NOT lt_partner_c[] IS INITIAL.

APPEND LINES OF lt_partner_c TO lt_partner.

ENDIF.

WHEN 'CONF'.

CALL FUNCTION 'BBP_PD_CONF_GETDETAIL'

EXPORTING

i_object_id = p_number

IMPORTING

e_header = cf_header

TABLES

e_partner = lt_partner.

PERFORM get_chgversion_partner TABLES lt_partner_c

USING cf_header-guid.

IF NOT lt_partner_c[] IS INITIAL.

APPEND LINES OF lt_partner_c TO lt_partner.

ENDIF.

WHEN 'BID'.

CALL FUNCTION 'BBP_PD_BID_GETDETAIL'

EXPORTING

i_object_id = p_number

IMPORTING

e_header = bid_header

TABLES

e_partner = lt_partner.

PERFORM get_chgversion_partner TABLES lt_partner_c

USING bid_header-guid.

IF NOT lt_partner_c[] IS INITIAL.

APPEND LINES OF lt_partner_c TO lt_partner.

ENDIF.

WHEN 'PCTR'.

CALL FUNCTION 'BBP_PD_CTR_GETDETAIL'

EXPORTING

i_object_id = p_number

IMPORTING

e_header = ctr_header

TABLES

e_partner = lt_partner.

PERFORM get_chgversion_partner TABLES lt_partner_c

USING ctr_header-guid.

IF NOT lt_partner_c[] IS INITIAL.

APPEND LINES OF lt_partner_c TO lt_partner.

ENDIF.

ENDCASE.

LOOP AT lt_partner INTO wa_partner WHERE partner_id = oldbp.

IF p_test NE 'X'.

UPDATE crmd_partner

SET partner_no = newguid

WHERE partner_guid = wa_partner-partner_guid.

  • Change address number of CRMD_PARTNER, in order to update ADDR3_DATA.

SELECT SINGLE persnumber

FROM but000

INTO wa_partner-addr_no

WHERE partner_guid = newguid.

UPDATE crmd_partner

SET addr_np = wa_partner-addr_no

WHERE partner_guid = wa_partner-partner_guid.

iv_partner_guid = newguid.

  • Get organization BP number for responsible requestor.

CALL FUNCTION 'BUPA_RELATIONSHIPS_GET'

EXPORTING

businesspartnerguid = iv_partner_guid

TABLES

et_relationships = lt_relationships

et_return = lt_return.

READ TABLE lt_relationships INTO cs_relationship INDEX 1.

l_partner_org = cs_relationship-partner1.

  • get address from BUT020

CALL FUNCTION 'BUPA_ADDRESSES_GET'

EXPORTING

iv_partner = l_partner_org

IMPORTING

ev_standard_addrnumber = l_addr_num

TABLES

et_addresses = l_addresses_int

et_return = l_return.

IF sy-subrc = 0.

  • Update addr_nr

UPDATE crmd_partner SET addr_nr = l_addr_num

WHERE partner_guid = wa_partner-partner_guid.

  • Write: Display result.

WRITE: / wa_partner-partner_guid,

wa_partner-p_guid,

wa_partner-partner_no,

' has been updated'.

ELSE.

WRITE: 'ERROR updating database'.

ENDIF.

ELSE.

WRITE: / wa_partner-partner_guid,

wa_partner-p_guid,

wa_partner-partner_no,

' will be updated'.

ENDIF.

COMMIT WORK AND WAIT.

ENDLOOP.

IF sy-subrc <> 0.

WRITE: 'BP number of old requestor is not correct'.

ENDIF.

*&----


*

*& Form get_chgversion_partner

*&----


*

  • text

*----


*

  • -->P_LT_PARTNER_C text

*----


*

FORM get_chgversion_partner TABLES p_lt_partner_c STRUCTURE bbp_pds_partner "Bitte korrekten Namen für <...> einfügen.

USING p_guid TYPE crmt_object_guid.

DATA: lt_it_header_guids TYPE TABLE OF bbp_guid_tab,

ls_it_header_guids LIKE LINE OF lt_it_header_guids,

lt_et_pdlist TYPE TABLE OF bbp_pds_version_list_internal,

ls_et_pdlist LIKE LINE OF lt_it_header_guids,

ls_bbp_pds_header TYPE bbp_pds_header.

ls_it_header_guids-guid = p_guid.

APPEND ls_it_header_guids TO lt_it_header_guids.

  • get the actual change version

CALL FUNCTION 'BBP_PROCDOC_GET_CHANGE_VERSION'

TABLES

it_header_guids = lt_it_header_guids

et_pdlist = lt_et_pdlist.

  • we need the guid of the change version

READ TABLE lt_et_pdlist INDEX 1 INTO ls_et_pdlist.

IF sy-subrc = 0.

  • get the details of the change version

CALL FUNCTION 'BBP_PROCDOC_GETDETAIL'

EXPORTING

i_guid = ls_et_pdlist-guid

IMPORTING

e_header = ls_bbp_pds_header

TABLES

e_partner = p_lt_partner_c.

ENDIF.

ENDFORM. " get_chgversion_partner}

Edited by: Autobots 21 on Nov 13, 2009 3:42 PM

former_member183819
Active Contributor
0 Kudos

ThanksYes. I do have this program

do you have any reports findout what are the open sc / sc item for one particulr user?

I will check it .and update you

br

muthu

Former Member
0 Kudos

I am sorry to say I don't have any. If you have please let me know.

former_member183819
Active Contributor
0 Kudos

Thanks

Again i reviewed the issue. later i realised user was not deleted from organisation struture

requestor of the cart is still available not removed. I have fatfigured in su01 and though user was deleted .

--

user who created sc existing in org structure. contract is fine. but i could assign contract int he cockpit.but the next screen become blank. cart again appearing in the cockpit.

only one item has this typical issue

br

muthu

Answers (0)