cancel
Showing results for 
Search instead for 
Did you mean: 

Classic scenario service PO replication

Former Member
0 Kudos

Scenario:-


Classic Scenario

No  PI(Process Integration)

No  PDP (Plant Driven Procurement) process

Today we created new Service purchase requisition (which is never adopted for PO creation) which contains only one item(10), under this line item (10) five service Numbers…as 20000000(Line-10),20000021(Line-20),20000025(Line-30),20000033(Line-40),20000058(Line-50)

then

Our process:-

Purchase Requisition(Service) Transferred from ECC to SRM - >Purchase Requisition Converted in to shopping cart in SRM> Shopping Cart goes to sourcing -> buyer
creates RFx by adopting the Shopping Cart -> RFx is sent to bidder -> bidder will respond >RFx Response number will be created in SRM>Buyer will compare the RFx responses -> Buyer will click on the RFX response number of L1 vendor>in the RFX response screen when  he will click on the “CREATE Purchase Order”

Issue:- why in  Service PO items are  splitted in to item-10,item-20,item-30,item-40 which is not same like in Service  PR

Hope if above issue will solved below error message wont appear

Error Message:-


Materials of requisition 2100000654 item 00010 alr. ordered in full

Message no. 06076

Please  Find the attached screen shot

Thanks

Madhu



Accepted Solutions (0)

Answers (3)

Answers (3)

vinita_kasliwal
Active Contributor
0 Kudos

Hey madhu

For moving it to SOCO there is a temp method which i ahve been using since where go to bbp_pd and open the item details where you see the source rel indicator as Y at the same place you would find a GUID before the table being listed as BBP_PDIGP

Go to this table with the GUId and in debuggin mode change the entry in the table to X this would move it to SOCO .. let me know if it helps

Former Member
0 Kudos

Hi Vinita,

Thanks for your  reply ...i will inform the  test results  soon...

Thanks

Madhu

Former Member
0 Kudos

Hi Vinitha,

I have taken a help of technical consultant ,When he changed  SOURCE_REL_IND as X ,it can able to display only,we can't  able to save.

Thanks

Madhu

vinita_kasliwal
Active Contributor
0 Kudos

Go to se16

enter table name bbp_pdigp

enter the GUid number and execute

Click on the entry

in the command prompt enter /h to enter into debuggin mode

once you enter there double click where you see source rel indicator as x

it will open another session where you will see value of CODE as show change it and make it EDIT
it will show the fields editable make changes and save ..

This is a pretty simple thing to do .. pl take help from a technical consultant .. should not be that tough

ivy_li
Active Contributor
0 Kudos

Hi Madhu,

Are you using SRM7.02 system?

If so, what you are experiencing is one new functionality in SRM702 called service bulding.

It can be activated in the following path:

SAP Supplier Relationship Management

   SRM Server

     Continuous Improvement

       Activate/Deactivate Service Bundling

SRM_702_SERVICE_BUNDLING_PO

If it is active, the service PO created in ECC side will have seperate service lines such as line 10 20 30 40 not integrated to one line. This is a new functionality in SRM702, and once it is activated, it is IR-REVERTIBLE.

If you are using SRM7.0 or SRM7.01, the note 1743852 should have already been implemented in your system. That is the reason you experience different behavior before note implementation.

This functionality is an improvement and will have more advantages.

Best regards,

ivy

Former Member
0 Kudos

Hi Ivy li,

We are using SRM7.0 Ehp2(7.02) with ECC 6.0 EHP6.0

service bundling is not activated .

Thanks

Madhu

ivy_li
Active Contributor
0 Kudos

Hi Madhu,

This should be impossible.

Would you please attach the picture to show SRM_702_SERVICE_BUNDLING_PO inactive in your system?

Regards,

ivy

Former Member
0 Kudos

Hi Ivy,

Please Find the JPG image

Thanks Madhu......please suggest what to do.....?

ivy_li
Active Contributor
0 Kudos

Hi Madhu,

I misunderstand your meaning.

If you want to integrate all the service lines into one for PO, please activate SRM_702_SERVICE_BUNDLING_PO.

Then you can recreate one such PO to test.

Regards,

Ivy

Former Member
0 Kudos

Hi ivy,

Thanks for  your quick reply ....

You are telling it is ir-reversable(SRM_702_SERVICE_BUNDLING_PO)....

.is there any work around .....

why respective shopping cart status

0000000002  I1111  item in  transfer Process   X

Thaks

Madhukar

ivy_li
Active Contributor
0 Kudos

Hi Madhu,

There is no workaround for this functionality.

Once it is active, you will always have PO with service bundling and this can't be deactivated again.

So if you decide to have this functionality, please activate it then.

For the new query about status, I didn't see any problem about it. This status should be inactive once follow-on doumet such as PO is created.

best regards,

Ivy

Former Member
0 Kudos

Hi Ivy,

Thanks for Confirmation about service bundling.

I need 2  more suggestion from your side:-

Issue:- Material  purchase Requisition not transferring  to SOCO (Sourcing),,which is successfully happening for  Service Purchase Requisition.

Temporary method:-

Temporally is there any manual method to push this  material Purchase Requisition to SOCO.

i  have checked there is no Sourcing flag "Y" for Material Purchase Requisation..why it is happening only for material purchase requisation .....why not for service purchase requisation.

what is the root cause

will you suggest any  functional module,if yes (How to do step by step).

Perminent method:-

BADI :-ME_ME_REQ_SOURCING _CUST  implimentation...is this only solution

sorry to bother you...this is the last query from my side today...

i will inform the Service bundling test results  soon...

Thanks

Madhu

ivy_li
Active Contributor
0 Kudos

Hi Madhu,

Vinita has provided one temparary solution for problematic SCs. This has to be done in debugging mode.

In order to solve this, I suggest you check the following points:

1, check Define Sourcing for Product Categories

2, check BADI bbp_src_determine

If you found source_rel_ind is Y, the most possible reason is that somebody reject this SC in sourcing cockpit. Such SC won't get back to sourcing unless you use some informal way proposed by Vinita.

Best regards,

Ivy

vinita_kasliwal
Active Contributor
0 Kudos

Can you please elaborate more on this .

from what I understand you want the SC item to not split into different PO  generally it spits based on different shipping address maintained . You can also check this in BADI ZBBP_GROUP_LOC_PO

Below is a sample code I found from one of the earlier threads as below :

http://scn.sap.com/message/2772557#2772557

http://scn.sap.com/message/3155145#3155145

http://scn.sap.com/message/2877448#2877448

http://scn.sap.com/message/2371974#2371974

https://scn.sap.com/thread/2026160

https://scn.sap.com/thread/54153

METHOD if_ex_bbp_group_loc_po~group_po.<BR>

*------------------------------------------------------------------------------*<BR>

* Exit Grouping of Items for Local Purchase Orders<BR>

** Parameters<BR>

*ITEM_DATA  TYPE BBP_INT_ITEM_GROUP Item Data for Shopping Basket Item<BR>

*It contains the most important item details of the shopping cart and<BR>

*additionally in the field REFNUMBER a reference number for further<BR>

*processing purposes<BR>

*------------------------------------------------------------------------------*<BR>

* Method used to group item before PO creation<BR>

* How it work ?<BR>

* 1/ Select extra colons from table ZPO_SPLIT_CRITER<BR>

* 2/ Getting Compoents from existing type BBP_INT_ITEM_GROUP<BR>

* 3/ For each line recalcul Refnumber<BR>

**********************************************************************<BR>

* Declarations<BR>

**********************************************************************<BR>

*--------------------------------------------------------------------*<BR>

* Variable<BR>

*--------------------------------------------------------------------*<BR>

  DATA: lt_zpo_split_criter TYPE TABLE OF zpo_split_criter<BR>

      , ls_zpo_split_criter TYPE zpo_split_criter<BR>

      , lo_struct           TYPE REF TO cl_abap_structdescr<BR>

      , lt_field_list       TYPE ddfields<BR>

      , ls_field_list       TYPE dfies<BR>

      .<BR>

<BR>

  DATA:<BR>

    lt_item_data     TYPE bbp_int_item_group<BR>

  , ls_item_data     TYPE bbp_int_item_groups<BR>

  , ls_back_data     TYPE bbp_int_item_groups<BR>

  , ls_modi_data     TYPE bbp_int_item_groups<BR>

  , l_fname          TYPE fieldname<BR>

  , l_refnumber      TYPE refnumber<BR>

  , l_tabix          TYPE sytabix<BR>

  , l_not_empty      TYPE c<BR>

  , l_act_not_empty  TYPE c<BR>

  .<BR>

*--------------------------------------------------------------------*<BR>

* Field symbols<BR>

*--------------------------------------------------------------------*<BR>

  FIELD-SYMBOLS: <lfs_refnumber>       TYPE bbp_int_item_groups-refnumber<BR>

               , <lfs_act_refnumber>   TYPE bbp_int_item_groups-refnumber<BR>

               , <lfs_field_value>     TYPE ANY<BR>

               , <lfs_act_field_value> TYPE ANY<BR>

               .<BR>

*--------------------------------------------------------------------*<BR>

* Constants<BR>

*--------------------------------------------------------------------*<BR>

*  CONSTANTS:<BR>

*  .<BR>

**********************************************************************<BR>

* Process<BR>

**********************************************************************<BR>

* 1/ Select extra colons from table ZPO_SPLIT_CRITER<BR>

  SELECT * FROM zpo_split_criter INTO TABLE lt_zpo_split_criter<BR>

    WHERE split EQ 'X'.<BR>

  CHECK NOT lt_zpo_split_criter[] IS INITIAL.<BR>

  DELETE lt_zpo_split_criter WHERE fieldname = 'REFNUMBER'.<BR>

<BR>

* 2/ Getting Compoents from existing type<BR>

  lo_struct ?= cl_abap_typedescr=>describe_by_name( 'bbp_int_item_groups' ).<BR>

  CALL METHOD lo_struct->get_ddic_field_list<BR>

    EXPORTING<BR>

      p_langu                  = sy-langu<BR>

      p_including_substructres = abap_true<BR>

    RECEIVING<BR>

      p_field_list             = lt_field_list<BR>

    EXCEPTIONS<BR>

      not_found                = 1<BR>

      no_ddic_type             = 2<BR>

      OTHERS                   = 3.<BR>

  IF sy-subrc <> 0.<BR>

*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO<BR>

*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.<BR>

  ENDIF.<BR>

<BR>

  LOOP AT lt_zpo_split_criter INTO ls_zpo_split_criter.<BR>

*   Verify if field exist in table<BR>

    READ TABLE lt_field_list<BR>

         TRANSPORTING NO FIELDS<BR>

         WITH KEY fieldname = ls_zpo_split_criter-fieldname.<BR>

    CHECK sy-subrc EQ 0.<BR>

<BR>

*   Copy table in internal<BR>

    lt_item_data[] = item_data[].<BR>

<BR>

*   Sort table by REFNUMBER and fieldname<BR>

    SORT lt_item_data<BR>

      BY refnumber (ls_zpo_split_criter-fieldname)<BR>

      ASCENDING.<BR>

<BR>

*   Clear internal value.<BR>

    CLEAR: l_refnumber<BR>

         .<BR>

<BR>

    CONCATENATE 'LS_ITEM_DATA-' ls_zpo_split_criter-fieldname<BR>

      INTO l_fname.<BR>

    ASSIGN (l_fname) TO <lfs_act_field_value>.<BR>

    CHECK sy-subrc = 0.<BR>

    CONCATENATE 'LS_BACK_DATA-' ls_zpo_split_criter-fieldname<BR>

      INTO l_fname.<BR>

    ASSIGN (l_fname) TO <lfs_field_value>.<BR>

    CHECK sy-subrc = 0.<BR>

    CONCATENATE 'LS_ITEM_DATA-' 'REFNUMBER'<BR>

      INTO l_fname.<BR>

    ASSIGN (l_fname) TO <lfs_act_refnumber>.<BR>

    CHECK sy-subrc = 0.<BR>

    CONCATENATE 'LS_BACK_DATA-' 'REFNUMBER'<BR>

      INTO l_fname.<BR>

    ASSIGN (l_fname) TO <lfs_refnumber>.<BR>

    CHECK sy-subrc = 0.<BR>

<BR>

    CLEAR: <lfs_refnumber><BR>

         , <lfs_field_value><BR>

         .<BR>

<BR>

*   For each reccord in table, calculate new REFNUMBER<BR>

    LOOP AT lt_item_data INTO ls_item_data.<BR>

      MOVE sy-tabix TO l_tabix.<BR>

      IF <lfs_act_field_value> IS INITIAL.<BR>

        MOVE ' ' TO l_act_not_empty.<BR>

      ENDIF.<BR>

<BR>

      IF ls_zpo_split_criter-as_not_blank IS INITIAL.<BR>

*       Case of each value on field create a new refnumber<BR>

        IF <lfs_field_value> NE <lfs_act_field_value> OR<BR>

           <lfs_refnumber> NE <lfs_act_refnumber> .<BR>

          l_refnumber = l_refnumber + 1.<BR>

          MOVE <lfs_act_field_value> TO <lfs_field_value>.<BR>

          MOVE <lfs_act_refnumber> TO <lfs_refnumber>.<BR>

        ENDIF.<BR>

      ELSE.<BR>

        IF l_not_empty NE l_act_not_empty OR<BR>

           <lfs_refnumber> NE <lfs_act_refnumber> .<BR>

          l_refnumber = l_refnumber + 1.<BR>

          MOVE l_act_not_empty TO l_not_empty.<BR>

          MOVE <lfs_act_refnumber> TO <lfs_refnumber>.<BR>

        ENDIF.<BR>

<BR>

      ENDIF.<BR>

      ls_modi_data = ls_item_data.<BR>

      ls_modi_data-refnumber = l_refnumber.<BR>

<BR>

      MODIFY item_data FROM ls_modi_data INDEX l_tabix<BR>

             TRANSPORTING refnumber.<BR>

    ENDLOOP.<BR>

  ENDLOOP.<BR>

<BR>

ENDMETHOD.

<BR>

<BR>

<BR>

It works with the table ZPO_SPLIT_CRITER as bellow:<BR>

CLIENT                     MANDT<BR>

FIELDNAME             FIELDNAME<BR>

SPLIT                     BOOLE_D<BR>

AS_NOT_BLANK     BOOLE_D<BR>

<BR>

If you need more information, contact me directly.<BR>

Regards, <BR>

<BR>

David BOUTIER<BR>

Consultant technique Sap Netweaver - KALYDIA<BR>

8, rue Pasquier - 75008 Paris<BR>

Former Member
0 Kudos

For all the explanation of this code, go to

Thanks.