cancel
Showing results for 
Search instead for 
Did you mean: 

bbp_pd_po_transfer_exec

Former Member
0 Kudos

HI guys,

Can anybody tell me in which programs the FM BBP_PD_PO_TRANSFER_EXEC is used. I mean i have used where used list for this FM and could not find any programs using this FM. Also when the PO is changed the chage version is released using the "setrelease" method of bus2201 object. I could not find any RFC FM in this method and also in any of the FM and forms used in the method. I could not understand hoe the setrelease methos updates the changed PO data to the backeend systems. there must be some RFC call somewhere.

Kindly give ur comments.

Thanks

sankar

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello Sankar,

FM BBP_PD_PO_TRANSFER_EXEC is used by report CLEAN_REQREQ_UP.

Please look at FM BBP_PROCDOC_TRANSFER too.

Regards,

Marcin Gajewski

Former Member
0 Kudos

Hi Marcin,

Thank you very much for your reply.

I think i have checked this clean_reqreq_up earlier. I would be very greatful if you can tell me where exactly in the clean_reqreq_up this FM is used.

Thanks

sankar

Former Member
0 Kudos

Hi,

Report CLEAN_REQREQ_UP checks table BBP_DOCUMENT_TAB for any changed items and loop for DOC_TYPE column. When find DOC_TYPE = 'PO' call FM SPOOL_PO_WRITE_BAPI_IMPORTS.

Please look at this FM to.

There is a new version of BBP_PD_PO_TRANSFER_EXEC called BBP_PD_PO_TRANSFER_EXEC_V2.

This FM is used by form PRODOC_TRANSFER_PO in include LBBP_PDF22.

Form PRODOC_TRANSFER_PO is used by form PRODOC_EV_AND_OUTPUT_CREATE in include LBBP_PDF0S.

Form PRODOC_EV_AND_OUTPUT_CREATE is used by form PRODOC_SAVE in include LBBP_PDF0L.

Form PRODOC_SAVE is used by FM BBP_PRODOC_SAVE.

Regards,

Marcin

Former Member
0 Kudos

Hi marcin,

Thank you very very much for your reply.

It was really adetailed answer. I think you can answer my further queries also.

From your explanation I understood that bbp_pd_po_transfer_exec is no more used in the programs. In place of this BBP_PD_PO_TRANSFER_EXEC_V2 is used. am i right??

Also I know that after the SC approval the last step is method "setrelease" of bus2121 object. also I know that FM bbp_reqreq_transfer is used to transfer the SC into PO to the backend. can you throw some light on this also like whehter bbp_reqreq_transfer is used in the setreleased method. how the SC are converted into POs. I want to know the flow of logic or sequence of programs which will be run during the transfer of SC data to the backend.

Once again thank you very much. I am sorry but i may trouble you with more questions like this.

thanks

sankar.

Former Member
0 Kudos

Hello,

Yes, You're right, BBP_PD_PO_TRANSFER_EXEC is obsolete.

Changing SC to PO depends of scenario, but if SC have prices and vendor in classic or extendent scenario is transffered to backend system.

FM BBP_REQREQ_TRANSFER transfers documents to backend system. FM responsible for creating POs is BBP_PD_SC_TRANSFER_INTERNAL and form CREATE_LOCAL_PROC_DOCS, CREATE_BE_PROC_DOCS.

Look at include LBBP_PD_SCF0R (form CREATE_BE_PROC_DOCS).

Regards,

Marcin Gajewski

Former Member
0 Kudos

Hi marcin,

I think i am now started to understans the process clearly.

So, you mean to say that bbp_reqreq_transfer is not used in the trnasfer of the SC to the backend, I mean it is not used in FM bbp_pd_sc_transfer_internal. am i right?? or is it used somewhere in the fromss crate_local_proc_docs and from create_be_proc_docs??

Also, I have debugged the programs and found out that the from create_be_proc_docs is used for the transfer of classic scenario SCs ( I found out that the BAPIs BAPI_CREATE_PO and BAPI_CREATE_PO1 are used for the transfer SC data to the backend ) . For the extended classic scenarios form create_local_proc_docs is used for the transfer, but i could not find any BAPI used for the transfer ECS shopping baskets. I know that leading doc lies in the EBP system, but the data is transferred to the backend nevertheless. How the transfer of data takes place without BAPI being used?? is my understanding right??

Thanks

sankar.

yann_bouillut
Active Contributor
0 Kudos

Hi Sankar,

Once the ECS SC is created, a local PO is created in SRM.

Once this local PO is "complete", it is duplicated to R/3 using bapi_po_create1.

Kind regards,

Yann

Former Member
0 Kudos

Hello,

PO is transferred do R/3 system when status is 'complete'.

You may transfer SC to backend to. If You transfer SC, You can view it in transaction me53n.

Regards,

Marcin

Former Member
0 Kudos

Hello,

PO is transferred do R/3 system when status is 'complete'.

You may transfer SC to backend to. If You transfer SC, You can view it in transaction me53n.

Regards,

Marcin

Former Member
0 Kudos

Hi marcin,

I could not reply since i am on vacation.

I have now understood how the PO is created in classic scenario. But , I am still bit confused about the PO creation in the case of Extended Classic Sscenario. Can you please give me the steps or sequesnce how the programs are called after the approval of the SC. It would be very helpful if you provide these steps as you have provided me for the bbp_pd_po_transfer_exec FM ( as you written in your second reply)

Thank you very much

sankar.

Former Member
0 Kudos

Hello Sankar,

I understand that You do every things to enabling Extendend Classic Scenario (number range of documents, etc.)

If You enable Ext. Scenario there will be a record in table BBP_EXTPO_GL.

This table follows to many programs an FM's and BADI interfaces.

You may find any help functions in FM BBP_PDH_CONTROL_OF_EXTENDED_PO (include LBBP_PDHU29)

This FM leads to include LBBP_PDIGPF33 (form check_extpo_cust).

This form leads to another form sc_itm_check in include LBBP_PDIGPF23.

In this form You may find form 'check_backend_connection' and so on.

Short way to find FM using is ext. classic scenario is in transaction se37 enter following string "BBP_TRANSFER".

Yo find this way function modules like:

- bbp_pd_po_transfer_exec_v2

- bbp_pd_sc_transfer_v2

- bbp_pd_sc_transfer_multi_be_po

- bbp_reqreq_transfer

In Ext. or Classic Scenario two jobs are created:

Cleaner Job: The cleaner is a report that checks wheather all data has been transffered correctly to the back-end system. If so, it will delete obsolete table entries in Enteprise Buyer and maintain the numbers of the created documents. This cleaner job is in program CLEAN_REQREQ_UP.

Status Job: This program retrieves new information from back-end system, such as the purchase order number after confersion from the purchase req. Status job is in program BBP_GET_STATUS_2

Regards,

Marcin Gajewski

Answers (6)

Answers (6)

Former Member
0 Kudos

Hi Marcin,

Good Morning.

Its nice to hear from you again. Thanks for taking interest and replying to my query.

I have some more queries . I have understood from the point where BBP_PD_SC_TRANSFER_MULTI is called. but what i did not understand is from the setreleased method of the object BUS2121 how this Fm is called. I mean I need the flow from the "setreleased" method of BUS2121 to the FM BBP_PD_SC_TRANSFER_MULTI.

I will wait for your reply.

Thanks

sankar

Former Member
0 Kudos

Hi Marcin,

please explain me the abap call stack how the SC in ECS scenario converted into PO . starting from the setrelease method of the object BUS2121 and to the craetion of the PO in the R/3 system. I need to know the flow logic

thanks

sankar

Former Member
0 Kudos

Hello Sankar,

Sorry for my delay.

SC is converted to PO with following FM's:

BBP_PD_SC_TRANSFER_MULTI

or

BBP_PD_SC_TRANSFER_MULTI_PO

Please look in BBP_PD_SC_TRANSFER_MULTI function module. This FM has several methods depending on object_type of document.

Function module BBP_PD_SC_TRANSFER_MULTI_PO have form split_sc_data_to_item and another function BBP_PD_SC_TRANS_MULTI_BE_PO. From function BBP_PD_SC_TRANS_MULTI_BE_PO go to SPOOL_PO_CREATE_MULTI.

Next META_PO_CREATE and META_BAPI_DISPATCH.

I don't debug this. Try to find name of FM used in 'sy-subrc if' statement after META_BAPI_DISPATH.

Regards,

Marcin Gajewski

Former Member
0 Kudos

HI Christ and marcin,

Can you please reply to my previous message.

it would be very useful for me to know the complete sequence.

Thanks

sankar

Former Member
0 Kudos

Hi Sankar,

We start from FM BBP_PRODOC_SAVE:

bbp_prodoc_save check the header of document. If its not initial and his version is active he calls form prodoc_save from LBBP_PDF0L. Prodoc_save check BADI definition and version of documents. If version of document is not historic he create WF events (form prodoc_wf1_update_create) and runs form prodoc_ev_and_output_create.

Form prodoc_ev_and_output_create from LBBP_PDF0S check for status of eg. PO. He updates old status with form call_status_change. If the status is changed FM BBP_OUTPUT_PD_CREATE is called. Next step is to setup WF. We are ommit that.

If document type eq PO and his version is 'ordered' we transfer PO data to execution and planning system. Not if backend-fields are changed. These can only be changed with the FM BBP_PRODOC_SET_BE_REF within the transfer. (see comment in code before "perform prodoc_transfer_po")

Form prodoc_transfer_po from LBBP_PDF22 calls BBP_PD_PO_TRANSFER_EXEC_V2 with different flags (deretmine wether there is a DP-position, PO is created from bidding, PO is directly created from planning, PO is created locally or PO is created for planning system in case of ext. classic. scen.)

Regards,

Marcin Gajewski

Former Member
0 Kudos

HI Christophe,

thnaks for your reply.

If you don't mind can you give the ABAP call stack ( or the flow logic ) from the setrelease method ( bbp_procdoc_save) to the point where the transfer_exec FM is called. This will clear my confusion once for all

Thanks

sankar

Former Member
0 Kudos

Hi

Thanks for your reply.

I have still some doubts. sorry. In the form "procdoc_ev_and_output_create" if you see in the line 421 there is a if statement saying that if the p_object_type equal to c_po then form procdoc_transfer_po is called.

But when the SC is approved and released the object type is c_shop . so in this case the logic goes to FM "BBP_PROCDOC_TRANSFER"( it won't go to the form "procdoc_transfer_po" . am i right?? ). If you go into this FM and the form "transfer_shop" you will find FM BBP_PD_SC_TRANSFER_V2'. But I could not understand furhter.

let me know whenther my understanding is correct. If possible try to create a shopping cart in ECS and debug how the PO is crated in the backend system.

Thanks

sankar

Former Member
0 Kudos

Sankar,

there are TWO transfers:

- first, SC is transfered to a ECS PO

- then ECS PO is transfered to R/3 PO (passing through your line 421).

Finaly, the BBP_PROCDOC_TRANSFER is called twice during the whole process.

Rgds

Christophe

PS: please reward points for helpful answers

Former Member
0 Kudos

Hi Marcin,

I went on vacation. sorry for the dealy in reply.

I think you misunderstood my question. i wanted to know how the SC data is trnsferred and PO is created in the backend systems in case of extended classic scenario.

After the approval process is finished , in the workflow " object methos "setreleased" is called. when i went through this method i have found out that the logic goes like this

FM BBP_PD_SC_STATUS_CHANGE_WF is called

In this FM again, FM " BBP_procdoc_save" is used . I went into this FM . In this FM there are two FORMS

-- procdoc_save and procdoc_save_version .

-- In procdoc_save FM bbp_procdoc_transfer is being called for for shoping cart.

-- form "procdoc_transfer". in this form there is another form "transfer_shop"

- In this form FM BBP_PD_SC_TRANSFER_V2 is called

FM BBP_PD_SC_TRANSFER

FM BBP_PD_SC_TRANSFER_INTERNAL. In this FM there are two forms . first one is create_local_proc_docs and second one is create_be_proc_docs. What i came to know is incase of extended classic scenario the logic goes into the first form (create_local_proc_docs ) and in the ECS sceanrio it goes to the create_be_proc_docs form.

-- In the form " create_local_proc_docs another form "create_local_po" s called. another form po_creation_call is called within this form.

In this form FM BBP_PD_PO_CREATE is called . In tnis FM BBP_PROCDOC_CREATE is called In this FM form "procdoc_crate" is called .

-- in this form again FM "BBP_PROCDOC_SAVE" is called, which is the starting FM in the setreleased method. I was really confused after this and could not proceed further.

I could not really understand the the flow of logic.

Please clarify on how the process works.

Thanks

sankar

Former Member
0 Kudos

Hello Sankar,

you are not far from the answer.

First here are some corrections from previous posts:

- BBP_PD_PO_TRANSFER_EXEC is not called by CLEAN_REQREQ_UP.

- BBP_PD_PO_TRANSFER_EXEC is not obsolete. BBP_PD_PO_TRANSFER_EXEC_V2 is the "update" version of the BBP_PD_PO_TRANSFER_EXEC. This V2 function is for level 2 update task (the tasks called in update mode, after the update 1 functions).

You are not far from the answer, because you found the way the local ECS PO is created from the SC transfer.

The same logic apply for the ECS PO.

When the PO is saved in BBP_PROCDOC_SAVE, the replication is triggered for ECS & DP PO, using the function BBP_PD_PO_TRANSFER_EXEC_V2.

ABAP call stack:

FM BBP_PROCDOC_SAVE

FORM procdoc_save

FORM procdoc_ev_and_output_create

FORM procdoc_transfer_po

CALL FUNCTION 'BBP_PD_PO_TRANSFER_EXEC_V2' IN UPDATE TASK

Rgds

Christophe

PS: please reward points for helpful answers

Former Member
0 Kudos

Hello Sankar,

I went on vacation too and Christophe overtaken my answer

Look at his answer

Regards,

Marcin Gajewski