BBP_REQREQ_TRANSFER

Can guys let me know the path or sequesnce of transcation to reach/see  this,
BBP_REQREQ_TRANSFER

Hello Rick,
Muthuraman answered too fast...
So, he confused BBP_EXTREQ_TRANSFER with BBP_REQREQ_TRANSFER
After shopping cart is created and approved, BBP_REQREQ_TRANSFER function module is called to transfer SC data to R/3 backend in order to create PO (you need to be in classic scenario).
To see it in action, you can execute it in debug mode using a SC guid as importing parameter.
Regards.
Laurent.

Similar Messages

  • Reagarding the bbp_reqreq_transfer module

    Hi
    I am nalysing the FM bbp_reqreq_transfer to find out how the transfer of SC data to the r/3 takes place. Also i am getting "error in transmission" in some cases. PO number is generated. I can see that in BBP_PD. so i tried to debug the FM bbp_reqreq..
    When i used where used list for the bbp_reqreq.. I found only four programs
    1) RBUS2121
    2)RBUS2123
    3)LBBP_REQREQU21
    4)BBP_SET_STATUS_INCLUDE
    the first two programs use this FM in the methods "TRANSFER" . This method is not used in any of the SC WFs.
    So it is clear that the FM bbp_reqreq is not called at the end of a WF. ( am i correct? If not please give me the correcr details )
    The 3rd program BBP_REQREQ_RESUBMIT is used to resubmit the SC which are in error ( i think so again correcr me if i am wrong )
    The 4 program the coding is like this
    if LastApproval = 1.
       if  APPROVE_OR_REJECT010100 = 0.
       CALL FUNCTION 'BBP_REQREQ_TRANSFER' in UPDATE TASK
            EXPORTING
                 REQNO                     = REQREQNO
          EXCEPTIONS
                NOT_FOUND                 = 1
                NO_OBJECTKEY_DETERMINABLE = 2
                OTHERS                    = 3
    commit work.
    Assume that this program calls the bbp_reqreq once the approval is over. but when i did wher -used list for the 4th program surprisingly i could not get any results??
    I want to know how this bbp_reqreq is called and can i get the details on in what cases the "error in process" occurs.
    If i debug the META_BAPI FM can i get the error.
    Also sometimes in the bbp_pd we can see the ALERTS..
    In which program these errors are catched. I want to know the program name so that i can debug the pogram and know in what are all the cases the error in process occurs.
    Thanks in advance
    sankar

    Hello Rick,
    Muthuraman answered too fast...
    So, he confused BBP_EXTREQ_TRANSFER with BBP_REQREQ_TRANSFER
    After shopping cart is created and approved, BBP_REQREQ_TRANSFER function module is called to transfer SC data to R/3 backend in order to create PO (you need to be in classic scenario).
    To see it in action, you can execute it in debug mode using a SC guid as importing parameter.
    Regards.
    Laurent.

  • BAdI before BBP_REQREQ_TRANSFER?

    Hi all.
    SRM 4.0, ECS.
    I need to manipulate some of the values used when transfering the SC data to the purchase order, and without changing standard SAP code in BBP_REQREQ_TRANSFER I need to know if there is a BAdI that is called before this? By debugging BBP_REQREQ_TRANSFER I have not been able to find any BAdI's being called here, so I need something before this.
    Any suggestions?
    Thanks for any information.

    Hi Dave.
    Actually, the link you posted was also my thread to begin with.
    And I have tried making SAP understand that this seems like an error, but they keep saying that the system works as designed.
    Therefore I need to change standard SAP code before I can get the currency to work my way unfortunately. I have been debugging for 2 days now and haven't found a useful BAdI, so I will make the changes directly in program LBBP_PDF0K - this is where the vendor's default currency for the selected purchasing organization is being taken, and this behaviour cannot be used for us. We need to make sure that whichever currency the user selects within their SC is also the currency being sent to the vendor and being used for the local PO creation. I have manipulated the BBP_ECS_PO_OUT_BADI to use the currency from the SC, so that the PO being sent out from the backend is now correct - I will then use standard SAP code change to do the same for the local PO.

  • SRM 7.0: Classic Scenario no PO is created only PR is generated

    Hi Gurus,
    I am working on SRM 7.0 - Classic scenario.
    When a shopping cart is complete in terms of price, vendor (assigned) and other required data, item stays in transfer process.
    If a SC is incomplete a PR document is created in backend without a problem but when a complete SC is oredered, the status of shopping cart remains I1111 i.e. item in transfer process. I can see in table BBP_PDBEI, backend object type (BE_OBJECT_TYPE) is correctly selected as BUS2012 and the document number of PO is also correctly selected.
    This is the case even for the SC ordered using catalog materials.
    I have checked following configuration and it seems to be ok.
    1.  'Define objects in backend system's
    2. Number ranges definition in SRM and ECC
    3. Document type attribute -BSA in PPOMA_BBP
    Configuraiton wise everything seems to be, I tried to manually transfer the SC using FM  BBP_REQREQ_TRANSFER but it does not change the status of SC it remains I1111
    RZ20 does not show any error for the SC with status I1111.
    Is there any sepcial FM to push the SC in SRM 7.0?
    Any help/tips would be highly appreciated. Thanks in advance.
    Best Regards,
    Amit

    Hi  Amit
    what is the setting here
    1. 'Define objects in backend system's
    is it a prefered vendor or fixed vendor
    update the partner function in bbp_pd here
    if it is 39 - you wil recive pr
    it is 19 you will get PO
    i am afraid , you stated that catalog sc stoo this problem but during debugging check what is the partne rfunction...
    there can be several reasons for creating PR instead of PO. Please see the FAQ note 1173815 for the possible reasons, and the guide for debugging under:
    https://wiki.sdn.sap.com/wiki/display/SRM/Howtoanalyzethefollow-ondocumentdetermination
    MOREOVER NOTE SAYS POSSIBLE REASONS ..
    Note 336658 - Purch req instead of purch order created in backend
    BR
    Muthu

  • Error in transmission with BBPSC01

    I have typical problem where in
    When  ordered, SC created via BBPSC02 goes through without errors. But the cart that is created via BBPSC01 will have ' Error in Transmission, With an error 'SE142 please enter qunatity in line 3000111'. This error is coming from the backend in the RFC mode while debugging BBP_REQREQ_TRANSFER.
    This happens only when number items in the cart are more than four, if the items were less than or equal to 4, follow on document is created even in case of BBPSC01.
    We are implementing BADI for Follow-on-Document for service-category.
    May I know 1.what could be the difference between these two templates.2.And where they exactly these dump the values 3. How could I go from here 4.what fields I need to look while debugging.
    Input will be:
    BBPSC02:  User selects description item and the service button, enters the price, quantiy as 1 service unit and selects the a specific-service-Category
    BBPSC01: Selects the Same category as in BBPSC02 enters the same data .
    Thank you,
    Manyam

    Thank you.
    This is a long code please bear with me. And provide your suggestion.
    METHOD if_ex_bbp_create_req_back~fill_req_interface.
    Method Parameters:
    *LOGICAL_SYSTEM     TYPE BBP_BACKEND_DEST-LOG_SYS OPTIONAL
    *REQ_ITEMS            TYPE BBP_REQ_ITEM_SPOOL
    *REQ_ITEM_ACCOUNT     TYPE BBP_REQ_ACCT_SPOOL
    *REQ_ITEM_TEXT     TYPE BBP_REQ_TEXT_SPOOL
    *REQ_LIMITS            TYPE BBP_REQ_LIMITS_SPOOL
    *REQ_CONTRACT_LIMITS     TYPE BBP_REQ_LIMITS_CONTR_SPOOL
    *REQ_SERVICES            TYPE BBP_REQ_SERV_SPOOL
    *REQ_SERV_ACCOUNT     TYPE BBP_REQ_SERV_ACC_SPOOL
    *REQ_SERV_TEXT     TYPE BBP_REQ_SERV_TEXT_SPOOL
    *REQ_ADDRDELIVERY     TYPE BBP_REQ_ADDRDELIVERY_SPOOL
    This is the logic to create a Service Requisition based on a service
    material group selected in the Shopping Cart.  This logic is based on
    SAP's standard function SPOOL_RQ_READ_BAPI_EXPORTS from which this
    BADI is called.
    INSERT FUNCTION SPOOL_RQ_READ_BAPI_EXPORTS TO REPROCESS DATA FOR
    SERVICE SPECIAL REQUESTS.  -- IOK 07/13/01
    *function spool_rq_read_bapi_exports.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(REQNO) LIKE  REQHEAD-REQNO
    *"     VALUE(REQUIS_NUMBER) LIKE  BAPIEBANC-PREQ_NO
    *"  EXPORTING
    *"     VALUE(SKIP_ITEMS_WITH_ERROR) LIKE  BAPIMMPARA-SELECTION
    *"     VALUE(LOGICAL_SYSTEM) LIKE  BBP_BACKEND_DEST-LOG_SYS
    *"  TABLES
    *"      REQUISITION_ITEMS STRUCTURE  BAPIEBANC
    *"      REQUISITION_ACCOUNT_ASSIGNMENT STRUCTURE  BAPIEBKN
    *"      REQUISITION_ITEM_TEXT STRUCTURE  BAPIEBANTX
    *"      REQUISITION_LIMITS STRUCTURE  BAPIESUHC
    *"      REQUISITION_CONTRACT_LIMITS STRUCTURE  BAPIESUCC
    *"      REQUISITION_SERVICES STRUCTURE  BAPIESLLC
    *"      REQUISITION_SRV_ACCASS_VALUES STRUCTURE  BAPIESKLC
    *"      RETURN STRUCTURE  BAPIRETURN
    *"      REQUISITION_SERVICES_TEXT STRUCTURE  BAPIESLLTX
    *"      REQUISITION_ADDRDELIVERY STRUCTURE  BBPS_RQADDRDELIVERY_46
    *"      CONTROL_RECORD STRUCTURE  BBP_CONTROL_RECORD
    *"  EXCEPTIONS
    *"      INTERNAL_ERROR
    ---- Data Declaration -  from LBBP_BS_RQTOP -
    - Header                         -
      DATA: reqheader TYPE reqhead.
    - Header services                -
      DATA: reqheaders TYPE reqheads.
    - References -
      TYPES: reqreferences_type TYPE reqref.
      DATA:  reqreferences      TYPE STANDARD TABLE OF reqreferences_type
                                     INITIAL SIZE 10.
      DATA:  l_reqreferences    TYPE reqreferences_type,
             x_reqreferences    TYPE reqreferences_type.
    - Administrative lines requirement request -
      TYPES: reqlines_type TYPE reqline.
      DATA:  reqlines      TYPE STANDARD TABLE OF reqlines_type
                                INITIAL SIZE 10.
      DATA:  l_reqlines    TYPE reqlines_type.
    - MRO-Lines requirement request -
      TYPES: reqlinemas_type TYPE reqlinema_eci.
      DATA:  reqlinemas      TYPE STANDARD TABLE OF reqlinemas_type
                                  INITIAL SIZE 10.
      DATA:  l_reqlinemas    TYPE reqlinemas_type.
    - SRV-Lines requirement request -
      TYPES: reqlinesrs_type TYPE bbps_reqlinesr_eci.
      DATA:  reqlinesrs      TYPE STANDARD TABLE OF reqlinesrs_type
                                  INITIAL SIZE 10.
      DATA:  l_reqlinesrs    TYPE reqlinesrs_type.
    - Texts requirement request -
      TYPES: reqtexts_type TYPE reqtext.
      DATA:  reqtexts      TYPE STANDARD TABLE OF reqtexts_type
                                INITIAL SIZE 10.
      DATA:  l_reqtexts    TYPE reqtexts_type.
    *- Delivery address
      TYPES: reqaddress_type TYPE reqaddress.
      DATA:  reqaddress      TYPE STANDARD TABLE OF reqaddress_type
                                  INITIAL SIZE 10.
      DATA:  l_reqaddress    TYPE reqaddress_type.
    - Account assignment requirement request -
      TYPES: reqaccts_type TYPE reqacct_470.
      DATA:  reqaccts      TYPE STANDARD TABLE OF reqaccts_type
                                INITIAL SIZE 10.
      DATA:  l_reqaccts    TYPE reqaccts_type.
    - tablekey with the shortlife-line -
      DATA: BEGIN OF shortkey,
               client   TYPE ec_client, "REQLINE-CLIENT,
               reqno    TYPE ec_reqno,  "REQLINE-REQNO,
               reqsline TYPE reqsline,  "REQLINE-REQSLINE,
               reqlline TYPE reqlline,  "REQLINE-REQLLINE,
            END OF shortkey.
    - tablekey with the longlife-line -
      DATA: BEGIN OF longkey,
               client   TYPE ec_client, "REQLINE-CLIENT,
               reqno    TYPE ec_reqno,  "REQLINE-REQNO,
               reqlline TYPE reqlline,  "REQLINE-REQLLINE,
            END OF longkey.
      DATA: BEGIN OF bankey,
                preq_no    TYPE banfn, "BAPIEBAN-PREQ_NO,
                preq_item  TYPE bnfpo, "BAPIPOGN-PREQ_ITEM,
            END OF bankey.
    any other working fields
      DATA: h_preq_item     TYPE bnfpo,       "BAPIEBANC-PREQ_ITEM,
            h_srv_item      TYPE bnfpo,       "BAPIEBANC-PREQ_ITEM,
            h_logsys        TYPE log_system.  "reqref-logical_system.
      DATA: h_serial_no     TYPE dzebkn.      "BAPIEBKN-SERIAL_NO.
      DATA: h_packno_item   TYPE packno,      "BAPIESLL-PCKG_NO,
            h_packno_srv    TYPE packno,      "BAPIESLL-PCKG_NO,
            h_introw        TYPE srv_line_no, "BAPIESLL-LINE_NO,
            h_serial_no_srv TYPE dzekkn,      "BAPIESKN-SERIAL_NO,
            h_srv_outl_created,
            next TYPE i,
            h_index         LIKE sy-tabix,
            h_wempf         TYPE wempf.       "bapiekkn-gr_rcpt.
    ------ End of std data declaration -
      DATA:   l_req_items               TYPE bapiebanc,
              l_req_item_account        TYPE bapiebkn,
              l_req_item_text               TYPE bapiebantx,
              l_req_limits               TYPE bapiesuhc,
              l_req_contract_limits      TYPE bapiesucc,
              l_req_services               TYPE bapiesllc,
              l_req_serv_account        TYPE bapiesklc,
              l_req_serv_text               TYPE bapieslltx,
              l_req_addrdelivery        TYPE bbps_rqaddrdelivery_46.
      DATA:
           old_req_items           TYPE STANDARD TABLE OF bapiebanc,
           old_req_item_account    TYPE STANDARD TABLE OF bapiebkn,
           old_req_item_text       TYPE STANDARD TABLE OF bapiebantx,
           old_req_limits          TYPE STANDARD TABLE OF bapiesuhc,
           old_req_contract_limits TYPE STANDARD TABLE OF bapiesucc,
           old_req_services        TYPE STANDARD TABLE OF bapiesllc,
           old_req_serv_account    TYPE STANDARD TABLE OF bapiesklc,
           old_req_serv_text       TYPE STANDARD TABLE OF bapieslltx,
           old_req_addrdelivery    TYPE STANDARD TABLE OF
                                              bbps_rqaddrdelivery_46.
      DATA: l_mat_group TYPE comm_category-category_id.
      DATA: f_change_required TYPE c,
            f_limit_change    TYPE c,
            f_mat_sr_change   TYPE c,
            f_first_change    TYPE c VALUE 'X'.
    Data declaration for Shopping Cart number and PO number
      DATA: reqno          TYPE ec_reqno,
            requis_number  TYPE banfn.
      DATA: l_current_item TYPE bnfpo,
            line_item(5)   TYPE n.
    ---- Begin Processing ----
      DATA: l_requis_number TYPE banfn.   "jms 022802
    DEBUG TOOL ****** Goto SM50
    *data: i type i value 1.
    *while i <> 0.
    i = i + 1.
    *endwhile.
    END DEBUG TOOL *******
    Get Req Number and Shopping Cart Number
    read table req_items into l_req_items index 1.
    requis_number = l_req_items-preq_no.
    select single reqno
         into  (reqno)
         from  reqref
         where refnumber = requis_number.
    read detailed data from the requirement request
    call function 'BBP_REQREQ_GETDETAIL'
          EXPORTING
               reqno               = reqno
          IMPORTING
               req_header          = reqheader
               req_header_srv      = reqheaders
          TABLES
               req_reference       = reqreferences
               req_line            = reqlines
               req_line_mat        = reqlinemas
               req_line_srv        = reqlinesrs
               req_text            = reqtexts
               req_acct            = reqaccts
               req_address         = reqaddress
          EXCEPTIONS
               not_found           = 1
               foreign_lock        = 2
               no_enqueue_possible = 3
               others              = 4.
    if sy-subrc <> 0.
       raise internal_error.
       exit.
    endif.
    Begin JMS
    PO_NUM = PO_HEADER-PO_NUMBER.
    CMH Data declaration
      TYPES: et_header TYPE bbp_pds_sc_header_d.
      DATA:  t_et_header TYPE STANDARD TABLE OF et_header INITIAL SIZE 0,
             x_et_header TYPE et_header.
      TYPES: et_item TYPE bbp_pds_sc_item_d.
      DATA:  t_et_item TYPE STANDARD TABLE OF et_item INITIAL SIZE 0,
             x_et_item TYPE et_item.
      TYPES: sc_header TYPE bbp_pds_sc_header_d.
      DATA:  x_sc_header TYPE sc_header.
      TYPES: sc_is_pd TYPE xfeld.
      DATA:  l_sc_is_pd TYPE sc_is_pd.
      TYPES: sc_item TYPE bbp_pds_sc_item_d.
      DATA:  t_sc_item TYPE STANDARD TABLE OF sc_item INITIAL SIZE 0,
             x_sc_item TYPE sc_item.
      TYPES: sc_account TYPE bbp_pds_acc.
      DATA:  t_sc_account TYPE STANDARD TABLE OF sc_account INITIAL SIZE 0,
             x_sc_account TYPE sc_account.
      TYPES: sc_partner TYPE bbp_pds_partner.
      DATA:  t_sc_partner TYPE STANDARD TABLE OF sc_partner INITIAL SIZE 0,
             x_sc_partner TYPE sc_partner.
      TYPES: sc_confirm TYPE bbp_pds_con.
      DATA:  t_sc_confirm TYPE STANDARD TABLE OF sc_confirm INITIAL SIZE 0,
             x_sc_confirm TYPE sc_confirm.
      TYPES: sc_longtext TYPE bbp_pds_longtext.
      DATA:  t_sc_longtext TYPE
               STANDARD TABLE OF sc_longtext INITIAL SIZE 0,
             x_sc_longtext TYPE sc_longtext.
      TYPES: sc_limit TYPE bbp_pds_limit.
      DATA:  t_sc_limit TYPE STANDARD TABLE OF sc_limit INITIAL SIZE 0,
             x_sc_limit TYPE sc_limit.
      TYPES: sc_orgdata TYPE bbp_pds_org.
      DATA:  t_sc_orgdata TYPE
               STANDARD TABLE OF sc_orgdata INITIAL SIZE 0,
             x_sc_orgdata TYPE sc_orgdata.
      TYPES: sc_tax TYPE bbp_pds_tax.
      DATA:  t_sc_tax TYPE STANDARD TABLE OF sc_tax INITIAL SIZE 0,
             x_sc_tax TYPE sc_tax.
      TYPES: sc_pridoc TYPE bbp_pds_prc.
      DATA:  t_sc_pridoc TYPE STANDARD TABLE OF sc_pridoc INITIAL SIZE 0,
             x_sc_pridoc TYPE sc_pridoc.
      TYPES: sc_messages TYPE bbp_pds_messages.
      DATA:  t_sc_messages TYPE
               STANDARD TABLE OF sc_messages INITIAL SIZE 0,
             x_sc_messages TYPE sc_messages.
      TYPES: sc_actval TYPE bbp_pds_actval.
      DATA:  t_sc_actval TYPE STANDARD TABLE OF sc_actval INITIAL SIZE 0,
             x_sc_actval TYPE sc_actval.
      TYPES: sc_acc_actval TYPE bbp_pds_actval.
      DATA:  t_sc_acc_actval TYPE STANDARD TABLE OF sc_acc_actval
                                                          INITIAL SIZE 0,
             x_sc_acc_actval TYPE sc_acc_actval.
      TYPES: sc_header_rel TYPE bbp_pds_hrel.
      DATA:  t_sc_header_rel TYPE STANDARD TABLE OF sc_header_rel
                                                          INITIAL SIZE 0,
             x_sc_header_rel TYPE sc_header_rel.
      TYPES: sc_itmlim_rel TYPE bbp_pds_ilrel.
      DATA:  t_sc_itmlim_rel TYPE STANDARD TABLE OF sc_itmlim_rel
                                                          INITIAL SIZE 0,
             x_sc_itmlim_rel TYPE sc_itmlim_rel.
      TYPES: it_cuf_item_type TYPE bbps_cuf_item.
      DATA:  t_it_cuf_item TYPE STANDARD TABLE OF it_cuf_item_type
                                                          INITIAL SIZE 0,
             x_it_cuf_item TYPE it_cuf_item_type.
    - Contract limits                -
      TYPES: reqconlimits_type TYPE reqheads.
      DATA:  reqconlimits      TYPE STANDARD TABLE OF reqconlimits_type
                                INITIAL SIZE 10.
      DATA:  l_reqconlimits    TYPE reqconlimits_type.
      DATA:   lv_abort      TYPE xfeld,
              lv_is_pd      TYPE xfeld,
              lv_deliv_date LIKE sy-datum,
              lv_tabix      LIKE sy-tabix,
              lv_line       TYPE introw,
              lv_msarg      TYPE char200,
              lv_sc_guid    TYPE bbp_pdview_iap-header,
              lv_req_guid   TYPE bbp_pdview_iap-header.
      DATA: x_requis_number TYPE bapiebanc.
      IF NOT req_items[] IS INITIAL.
        CLEAR l_requis_number.
        READ TABLE req_items INTO x_requis_number INDEX 1.
        l_requis_number = x_requis_number-preq_no.
        requis_number = x_requis_number-preq_no.
      ENDIF.
    Get PO Guid from Backend Table.
      SELECT SINGLE guid
             INTO   lv_req_guid
             FROM   bbp_pdbei
             WHERE  be_object_id   =  l_requis_number
             AND    be_object_type = 'BUS2105'.
    Get Shopping Cart Guid from PO Guid
      SELECT SINGLE header
             INTO   lv_sc_guid
             FROM   bbp_pdview_iap
             WHERE  guid = lv_req_guid.
    Get detail from shopping cart
      CALL FUNCTION 'BBP_PD_SC_GETDETAIL'
        EXPORTING
          i_guid                  = lv_sc_guid
          i_with_itemdata         = 'X'
        IMPORTING
          e_header                = x_sc_header
          ev_is_pd                = l_sc_is_pd
        TABLES
          e_item                  = t_sc_item
          e_account               = t_sc_account
          e_partner               = t_sc_partner
          e_confirm               = t_sc_confirm
          e_longtext              = t_sc_longtext
          e_limit                 = t_sc_limit
          e_orgdata               = t_sc_orgdata
          e_tax                   = t_sc_tax
          e_pridoc                = t_sc_pridoc
          e_messages              = t_sc_messages
          e_actval                = t_sc_actval
          e_acc_actval            = t_sc_acc_actval
          e_header_rel            = t_sc_header_rel
          e_itmlim_rel            = t_sc_itmlim_rel.
      lv_is_pd = l_sc_is_pd.
    message handling
      IF NOT t_sc_messages[] IS INITIAL.
        CALL FUNCTION 'BBP_BS_ADD_MESSAGES'
          IMPORTING
            ev_abort    = lv_abort
          TABLES
            it_messages = t_sc_messages.
      ENDIF.
    if error occured set alert/ exception.
      IF NOT lv_abort IS INITIAL.
        CALL FUNCTION 'BBP_ALERT_SB_LOCAL'
          EXPORTING
            msgid              = 'BBP_PD'
            msgno              = 280
            msgarg1            = lv_msarg
          EXCEPTIONS
            invalid_parameters = 1
            OTHERS             = 2.
       RAISE internal_error.
      ENDIF.
    map shopping cart in new structure into old structure to be able
    to continue with the old coding
      REFRESH t_sc_messages.
      CALL FUNCTION 'BBP_SC_MAP_PD_TO_REQ'
        EXPORTING
          is_new_header    = x_sc_header
        IMPORTING
          es_reqhead       = reqheader
          es_req_heads     = reqheaders
         es_cuf_header    = is_cuf_header
        TABLES
          et_req_reference = reqreferences
          et_req_line      = reqlines
          et_req_line_mat  = reqlinemas
          et_req_line_srv  = reqlinesrs
          et_req_text      = reqtexts
          et_req_acct      = reqaccts
          et_req_address   = reqaddress
          et_req_conlimit  = reqconlimits
          it_new_items     = t_sc_item
          it_account       = t_sc_account
          it_partner       = t_sc_partner
          it_longtext      = t_sc_longtext
          it_limit         = t_sc_limit
          it_orgdata       = t_sc_orgdata
          it_tax           = t_sc_tax
          it_actval        = t_sc_actval
          it_itmlim_rel    = t_sc_itmlim_rel
          et_messages      = t_sc_messages.
         et_cuf_item      = it_cuf_item
         et_cuf_acc       = it_cuf_acc.
      IF NOT t_sc_messages[] IS INITIAL.
    message handling
        CALL FUNCTION 'BBP_BS_ADD_MESSAGES'
          IMPORTING
            ev_abort    = lv_abort
          TABLES
            it_messages = t_sc_messages.
      ENDIF.
    if error occured set alert/ exception.
      IF NOT lv_abort IS INITIAL.
        CALL FUNCTION 'BBP_ALERT_SB_LOCAL'
          EXPORTING
            msgid              = 'BBP_PU'
            msgno              = 326
            msgarg1            = lv_msarg
          EXCEPTIONS
            invalid_parameters = 1
            OTHERS             = 2.
       RAISE internal_error.
      ENDIF.
    End insert 03/26/2003
    ReqReferences doesn't list the PO item number.  We'll need that to
    associate the WBS to a Service Sub Item later.  Let's put it in.
      SORT reqreferences BY client refnumber reqlline.
      LOOP AT reqreferences INTO x_reqreferences.
        IF x_reqreferences-refline IS INITIAL.
          IF l_requis_number = x_reqreferences-refnumber. "jms 022802
            ADD 1 TO line_item.
          ELSE.
            l_requis_number = x_reqreferences-refnumber.  "jms 022802
            line_item = 1.
          ENDIF.
        Accumulate the line item
          x_reqreferences-refline = line_item.
          MODIFY reqreferences FROM x_reqreferences INDEX sy-tabix.
        ENDIF.
      ENDLOOP.
      SORT reqlines      BY client reqno reqlline.
      SORT reqreferences BY client reqno reqlline counter.
      SORT reqlinemas    BY client reqno reqsline reqlline.
      SORT reqlinesrs    BY client reqno reqsline reqlline.
      SORT reqaccts      BY client reqno reqlline serial_no. " note 359605
      CLEAR: h_preq_item.
      CLEAR: h_srv_item, h_srv_outl_created,
             h_packno_item, h_packno_srv, h_introw.
    First, the Shopping Cart number should be extracted from REQREF table
    based on the Req number.
    take all items with the specific reference number
      LOOP AT reqreferences
         INTO l_reqreferences                                  "iok 091701
        WHERE refnumber EQ requis_number.
       if logical_system is initial.
         logical_system = l_reqreferences-logical_system.
       endif.
        MOVE-CORRESPONDING l_reqreferences TO longkey.
      read table reqlines with key longkey binary search.
        READ TABLE reqlines INTO l_reqlines                    "iok 091701
            WITH KEY client = longkey-client
                      reqno = longkey-reqno
                   reqlline = longkey-reqlline
                   BINARY SEARCH.
        CHECK sy-subrc EQ 0.
        h_preq_item = l_reqlines-reqsline+5(5).
      clear h_preq_item.
      Change line_type based on Material Group
      add code here later.
        CLEAR: f_change_required,
               f_mat_sr_change,
               f_limit_change.
        SELECT SINGLE category_id
          INTO l_mat_group
          FROM comm_category
         WHERE category_guid = l_reqlines-category.
      Check if Services Special Request
        IF l_reqlines-catalogid IS INITIAL AND
           l_reqlines-product   IS INITIAL AND
           l_mat_group(1)        = 'S'     AND
           l_reqlines-line_type  = '1'.     "Service Special Request
        Set flags for future processing
          l_reqlines-line_type = '3'.
          f_change_required    = 'X'.
          f_limit_change       = 'X'.
      Check if Material Special Request
        ELSEIF l_reqlines-catalogid IS INITIAL AND
               l_reqlines-product   IS INITIAL AND
               l_mat_group(1)       <> 'S'     AND
               l_reqlines-line_type = '1'. "Material Special Request
        Set flags for future processing
          f_change_required = 'X'.
          f_mat_sr_change = 'X'.
        ENDIF.
        CHECK f_change_required = 'X'.
      For Material Special Requests only need to select and store UNSPSC
      code   -- iok 092401
        IF f_mat_sr_change = 'X'.
        Get UNSPSC code (first hit) based on Material Group and store
        in text id B05.   iok 092101
          READ TABLE req_items INTO l_req_items
              WITH KEY preq_item = h_preq_item
                       mat_grp   = l_mat_group.
          READ TABLE req_item_text INTO l_req_item_text
              WITH KEY preq_no   = requis_number
                       preq_item = l_req_items-preq_item
                       text_id = 'B05'.
          IF sy-subrc <> 0.
            CLEAR l_req_item_text.
          Find a UNSPSC Code from a Material Group .. even it's arbitrary
            SELECT unspsc_code UP TO 1 ROWS
                 FROM zxl8_category_id
                 INTO l_req_item_text-text_line
                WHERE category_id = l_mat_group.
            ENDSELECT.
          If nothing found then fill in a dummy UNSPSC.  The first
          letter of the Material will designate whether it's a Material
          or Service.
            IF sy-subrc NE 0.
            Move the Material Group value into a holding variable
              CONCATENATE l_mat_group(1) 'XXXXXXXX'
                     INTO l_req_item_text-text_line.
            ENDIF.
            l_req_item_text-preq_no   = requis_number.
            l_req_item_text-preq_item = l_req_items-preq_item.
            l_req_item_text-text_id   = 'B05'.
            INSERT l_req_item_text INTO TABLE req_item_text.
          ENDIF.
          CONTINUE.  "to next item.
        ENDIF.
        IF f_first_change = 'X' AND f_limit_change = 'X'.
        Save old P.Req. data and clear tables
          old_req_items[]           = req_items[].
          old_req_item_account[]    = req_item_account[].
          old_req_item_text[]       = req_item_text[].
          old_req_limits[]          = req_limits[].
          old_req_contract_limits[] = req_contract_limits[].
          old_req_services[]        = req_services[].
          old_req_serv_account[]    = req_serv_account[].
          old_req_serv_text[]       = req_serv_text[].
          old_req_addrdelivery[]    = req_addrdelivery[].
          REFRESH:  req_items,
                    req_item_account,
                  req_item_text,
                    req_limits,
                    req_contract_limits,
                    req_services,
                    req_serv_account,
                    req_serv_text.
                  req_addrdelivery.
          CLEAR f_first_change.
        ENDIF.
      Limit
        IF l_reqlines-line_type EQ '3'.
          and not reqheaders-limit is initial.
          DATA: l_reqreferences_temp   TYPE reqreferences_type.
        +JMS 2/26/2002
          CLEAR l_reqreferences_temp.
          READ TABLE reqreferences INTO l_reqreferences_temp
            WITH KEY client   = longkey-client
                     reqno    = longkey-reqno
                     reqlline = longkey-reqlline
                     BINARY SEARCH.
          IF sy-subrc = 0.
            h_preq_item = l_reqreferences_temp-refline.
          ENDIF.
          CLEAR l_req_items.
          READ TABLE old_req_items INTO l_req_items
              WITH KEY preq_item = h_preq_item.
          MOVE-CORRESPONDING l_req_items TO reqheaders.
          reqheaders-begdate   = l_req_items-deliv_date.
          reqheaders-limit     = l_req_items-c_amt_bapi.
          reqheaders-exp_value = l_req_items-c_amt_bapi.
          reqheaders-gr_ind    = 'X'.
          reqheaders-reqno     = l_req_items-preq_no.           "jms 022602
          CLEAR l_req_items.
    INSERT FORM **** CREATE_SERVICE_ITEM
          h_packno_item = h_packno_item + 1.
          h_packno_srv  = h_packno_srv  + 10000.
          h_introw      = h_introw + 1.
          CLEAR l_req_items.                                 " Note 364396
          MOVE-CORRESPONDING reqheaders TO l_req_items.
          l_req_items-preq_no = reqheaders-reqno.               "jms 022602
         l_REQ_ITEMS-PREQ_NO = REQUIS_NUMBER.                 "jms 022602
    l_REQ_ITEMS-PREQ_ITEM = H_PREQ_ITEM + 1.    "iok 091801
          l_req_items-preq_item = h_preq_item.                  "iok 091801
          l_current_item = h_preq_item.                         "iok 092101
          h_srv_item  = l_req_items-preq_item.
          h_preq_item = h_preq_item + 1.
          IF NOT reqheaders-limit IS INITIAL OR
             NOT reqheaders-exp_value IS INITIAL.
            IF reqheaders-gr_ind IS INITIAL.
              l_req_items-item_cat = '1'.
            ELSE.
              l_req_items-item_cat = '9'.
            ENDIF.
            l_req_items-deliv_date = reqheaders-begdate.
          ELSE.
            l_req_items-item_cat = '9'.
          ENDIF.
          IF l_req_items-del_datcat IS INITIAL.
            l_req_items-del_datcat = '1'.
          ENDIF.
          l_req_items-quantity = 1.
          l_req_items-pckg_no  = h_packno_item.
          IF l_req_items-preq_name EQ space.
            l_req_items-preq_name = sy-uname.
          ENDIF.
          APPEND l_req_items TO req_items.
    END OF FORM INSERTION ********
          l_req_limits-pckg_no    = h_packno_item.
          l_req_limits-limit      = reqheaders-limit.
          l_req_limits-exp_value  = reqheaders-exp_value.
          l_req_limits-no_limit   =  reqheaders-no_limit.
          l_req_limits-no_frlimit = 'X'.
          APPEND l_req_limits TO req_limits.
    *.... Account assignment
        clear requisition_srv_accass_values.
          CLEAR l_req_serv_account.
          l_req_serv_account-pckg_no = h_packno_item.
          MOVE-CORRESPONDING l_reqlines TO longkey.
        read table reqaccts with key longkey binary search. "iok 091801
          READ TABLE reqaccts INTO l_reqaccts                   "iok 091801
            WITH KEY client   = longkey-client
                     reqno    = longkey-reqno
                     reqlline = longkey-reqlline
                     BINARY SEARCH.
          IF sy-subrc = 0.
            LOOP AT reqaccts
                INTO l_reqaccts
                WHERE reqno    = l_reqreferences-reqno
                AND   reqlline = l_reqreferences-reqlline.
    INSERT FULL FORM *********** FILL_REQ_ACCT_SRV
              DATA: acctcomp1 TYPE bapiebkn,
                    acctcomp2 TYPE bapiebkn,
                    high_serial TYPE dzekkn.  "LIKE BAPIEKKN-SERIAL_NO.
              CLEAR l_req_serv_account-serial_no.
              CLEAR acctcomp1.
              MOVE-CORRESPONDING l_reqaccts TO acctcomp1.
              CLEAR: acctcomp1-preq_no,
                     acctcomp1-preq_item,
                     acctcomp1-serial_no,
                     acctcomp1-created_on,
                     acctcomp1-created_by,
                     acctcomp1-preq_qty,
                     acctcomp1-distr_perc,
                     acctcomp1-change_id,
                     acctcomp1-currency.
              LOOP AT req_item_account INTO l_req_item_account.
                CLEAR acctcomp2.
      MOVE-CORRESPONDING l_req_item_account TO ACCTCOMP2.  "is blank
                CLEAR: acctcomp2-preq_no,
                       acctcomp2-preq_item,
                       acctcomp2-serial_no,
                       acctcomp2-created_on,
                       acctcomp2-created_by,
                       acctcomp2-preq_qty,
                       acctcomp2-distr_perc,
                       acctcomp2-change_id,
                       acctcomp2-currency.
               IF acctcomp1 EQ acctcomp2  AND h_srv_outl_created IS INITIAL.
                l_req_serv_account-serial_no = l_req_item_account-serial_no.
                  EXIT.
                ENDIF.
                high_serial = l_req_item_account-serial_no.
              ENDLOOP.
              h_srv_outl_created = ' '.
              IF l_req_serv_account-serial_no IS INITIAL.
                MOVE-CORRESPONDING l_reqaccts TO l_req_item_account.
               l_REQ_item_ACCOUNT-PREQ_NO   = REQUIS_NUMBER.   "jms 022702
                l_req_item_account-preq_no = l_req_items-preq_no."jms 022702
                l_req_item_account-preq_item = h_srv_item.
    REQUISITION_ACCOUNT_ASSIGNMENT-WBS_ELEM_E = REQACCT-BBP_PROJECT.
                l_req_item_account-serial_no = high_serial + 1.
                l_req_serv_account-serial_no = l_req_item_account-serial_no.
                APPEND l_req_item_account TO req_item_account.
              ENDIF.
    END OF FORM INSERTION ***********
              h_serial_no = h_serial_no + 1.
              l_req_serv_account-serno_line = h_serial_no.
              l_req_serv_account-percentage = l_reqaccts-distr_perc.
              APPEND l_req_serv_account TO req_serv_account.
            ENDLOOP.
    INSERT FULL FORM **************** CONVERT_ACCOUNT_***_CAT
    data: account_tab LIKE bbp_pds_acc OCCURS 0 WITH HEADER LINE.
            DATA: account_tab TYPE STANDARD TABLE OF bbp_pds_acc.
            DATA: l_account_tab TYPE bbp_pds_acc.
            DATA: h_knttp TYPE knttp.
          move the accounting data to that item into the interface table
                LOOP AT reqaccts
               INTO l_reqaccts
              WHERE reqno    EQ l_reqreferences-reqno
                AND reqlline EQ l_reqreferences-reqlline.
              MOVE-CORRESPONDING l_reqaccts TO l_account_tab.
              APPEND l_account_tab TO account_tab.
            ENDLOOP.
          call the convert API
            CALL FUNCTION 'BBP_ACCCAT_MAP_EXP'
                 EXPORTING
                      i_logical_system = logical_system
                 IMPORTING
                      e_r3_acc_cat     = h_knttp
                 TABLES
                      i_pd_account     = account_tab.
            IF h_knttp IS INITIAL.
              h_knttp = 'X'.
            ENDIF.
          +JMS 2/14/2002 Issue #1590
            CLEAR   account_tab.
            REFRESH account_tab.
          account assignment category - set in the correct item
            LOOP AT req_items
               INTO l_req_items
              WHERE preq_item EQ l_req_item_account-preq_item.
              l_req_items-acctasscat = h_knttp.
              MODIFY req_items FROM l_req_items INDEX sy-tabix.
            ENDLOOP.
    END OF FORM INSERTION ************
          ELSE.
    INSERT FULL FORM ************* Form  CONVERT_ACCOUNT_***_CAT_U
            LOOP AT req_items
               INTO l_req_items
              WHERE preq_item EQ l_current_item.
              l_req_items-acctasscat = 'U'.
              MODIFY req_items FROM l_req_items INDEX sy-tabix.
            ENDLOOP.
    END OF FORM INSERTION ************
          ENDIF.
        Get UNSPSC code (first hit) based on Material Group and store
        in text id B05.   iok 092101
          READ TABLE req_items INTO l_req_items
              WITH KEY preq_item = l_current_item
                       mat_grp   = l_mat_group.
          READ TABLE req_item_text INTO l_req_item_text
              WITH KEY preq_no   = requis_number
                       preq_item = l_req_items-preq_item
                       text_id   = 'B05'.
          IF sy-subrc <> 0.
            CLEAR l_req_item_text.
          Get UNSPSC Code from Material Group .. even if arbitrary
            SELECT unspsc_code UP TO 1 ROWS
              FROM zxl8_category_id
              INTO l_req_item_text-text_line
             WHERE category_id = l_mat_group.
            ENDSELECT.
          If nothing found then fill in a dummy UNSPSC.  The first
          letter of the Material will designate whether it's a Material
          or Service.
            IF sy-subrc NE 0.
            Move the Material Group value into a holding variable
              CONCATENATE l_mat_group(1) 'XXXXXXX'
                     INTO l_req_item_text-text_line.
            ENDIF.
            l_req_item_text-preq_no   = requis_number.
            l_req_item_text-preq_item = l_req_items-preq_item.
            l_req_item_text-text_id   = 'B05'.
            INSERT l_req_item_text INTO TABLE req_item_text.
          ENDIF.
        Don't send Internal Note to Backend
         delete req_item_text where text_id = 'B02'.
    Service -- NOT NEEDED -- IOK 07/13/01
       elseif not reqlines-reqsline is initial
             and reqlines-line_type eq '2'.
         move-corresponding reqlines to shortkey.
         read table reqlinesrs with key shortkey binary search.
         if sy-subrc = 0.
           h_serv = reqlinesrs.
           append h_serv.
         endif.
    material item -- NOT NEEDED -- IOK 07/13/01
        ENDIF.
      ENDLOOP.
    Services -- NOT NEED -- IOK 07/13/01
      IF f_limit_change = 'X'.
      Check multiple account assignment
        LOOP AT req_items INTO l_req_items.
          h_index = sy-tabix.
          CLEAR next.
          LOOP AT req_item_account
             INTO l_req_item_account
            WHERE preq_item EQ l_req_items-preq_item.
            next = next + 1.
          ENDLOOP.
          IF next > 1.
            l_req_items-distrib    = '2'. "prozentuale Verteilung
            l_req_items-part_inv   = '1'.
            l_req_items-gr_non_val = 'X'.
           MODIFY req_items FROM l_req_items INDEX h_index.     "217191
         modify requisition_items.                                "217191
          ENDIF.
        ENDLOOP.
      ENDIF.
    Remap delivery address for backend processing
      LOOP AT req_addrdelivery INTO l_req_addrdelivery.
        MOVE:  l_req_addrdelivery-name_2   TO l_req_addrdelivery-name,
               l_req_addrdelivery-c_o_name TO l_req_addrdelivery-name_2.
        CLEAR: l_req_addrdelivery-c_o_name.
        MODIFY req_addrdelivery FROM l_req_addrdelivery INDEX sy-tabix.
      ENDLOOP.
    CHM 07/16/2003 Changed created by to always be actual creator even
                   for on behalf of situations
        LOOP AT req_items
           INTO l_req_items.
          l_req_items-created_by = x_sc_header-created_by.
          MODIFY req_items FROM l_req_items INDEX sy-tabix.
        ENDLOOP.
    CMH - end change
    MA 12/10/04 - Pass MP2 number from Manu Prod# to Req Item Text
    LOOP AT req_items INTO l_req_items.
        READ TABLE t_sc_item into x_sc_item
             WITH KEY number_int  = l_req_items-preq_item.
        l_req_item_text-preq_no   = requis_number.
        l_req_item_text-preq_item = l_req_items-preq_item.
        l_req_item_text-text_id   = 'B06'.
        l_req_item_text-text_line = x_sc_item-manu_prod.
        INSERT l_req_item_text INTO TABLE req_item_text.
    ENDLOOP.
    ENDMETHOD.

  • PO is not generated for completed SC in SRM.70 classic scenario.

    Hi,
    I am working on SRM 7.0 - Classic scenario.
    When a shopping cart is complete in terms of price, vendor (assigned) and other required data, item stays in transfer process. even we are adding items from catalog.
    If a SC is incomplete a PR document is created in backend without a problem but when a complete SC is oredered, the status of shopping cart remains item in transfer process. I can see in table BBP_PDBEI, backend object type (BE_OBJECT_TYPE) is correctly selected as BUS2012 and the document number of PO is also correctly selected.
    This is the case even for the SC ordered using catalog materials.
    I have checked following configuration and it seems to be ok.
    1. 'Define objects in backend system's
    2. Number ranges definition in SRM and ECC
    3. Document type attribute -BSA in PPOMA_BBP
    Configuraiton wise everything seems to be, I tried to manually transfer the SC using FM BBP_REQREQ_TRANSFER but it does not change the status of SC it remains I1111
    RZ20 does not show any error for the SC with status I1111.
    Is there any sepcial FM to push the SC in SRM 7.0?
    Any help/tips would be highly appreciated. Thanks in advance.
    Thanks,
    Ravi

    learnt that PO number has generated in SRM and the same PO number not exist in ECC.
    check SM58 , rz20 log or Application monitor for the shopping cart.
    or monitor shopping cart click the icon follow on document and errror message must throw in 1 minutes.
    let us see .
    1. what is the settings in define backend OBJECTS
    2. check all basic data in the shopping cart - especially org data
    3. run bbp_check_consistancy report for your id?
    4. every user has the same issue?
    SEE THE RICHARDO technique
    http://wiki.sdn.sap.com/wiki/display/SRM/ShoppingCartStatusI1111-+Resubmit
    Muthu
    Report BBP_ALERT_SB_NOTTRANSFERED is available to change the status of the shopping cart item from I1111 to 'Error in transmission' (I1112) and later on, it is possible to retransfer this shopping cart from Application Monitor/Monitor Shopping Cart transactions.
    1480994  How to process a shopping cart with status I1111
    Edited by: Muthuraman Govindasamy on Jul 16, 2010 11:31 PM

  • In the Extended Classic scenario, what creates the PO on the SRM side?

    Hi Experts,
    This sounds like a simple question, however, I've been unable to find the answer.
    What I am looking for is the process (report, workflow or function module etc etc) that actually creates the PO on the SRM side once the shopping cart has been approved (before it is replicated to ECC).
    The reason for this is, after a support stack upgrade, the creation of the PO seems to have slowed down once the shopping cart has been created.  I'm trying to track down where the PO gets created and what triggers that to happen, in order to work out why it isn't as quick as it was prior to the upgrade, but can't piece together the full end to end process.
    I can see the "Workflow Without Approval Shopping Cart" workflow that obviously Releases the shopping cart and sets the status to Approved...  I can then see the equivalent workflow for the PO (Workflow Without Approval for PurchOrder), but I can't work out the bit inbetween -
    - How does the PO actually gets created in SRM and what triggers that to happen?
    Any help will be gratefully received - thanks in advance.

    its an event related to the shopping cart business object- BUS2121.
    your approval workflow should be of status set released, which will trigger the methor BBP_REQREQ_TRANSFER, finished approval is the event which will be triggered by the workflow, based on this event, system will trigger reqreq_transfer.

  • PR instead of PO created

    Hello Guys,
    in classic scenario I'm facing the problem, that SRM wants to create a PR in the BE instead of a PO.
    Customizing is set (BBP_TARGET OBJ) that a PO should be created. Source of supply is transferred from a catalog (CCM 200).
    SC data are complete that a PO could be created.
    Number ranges and document types are maintained correct in SRM and BE.
    Manual creation of PO in the BE with the same data like in SC is possible.
    Is still the FM BBP_REQREQ_TRANSFER transfering the document to the BE?  Trying to transfer the SC manual by testing the FM was not successful!
    In BBP_PD I can see in table BBP_PDBEI that field BE_OBJECT_TYPE is filled with BUS2105 (PR) instead of BUS2012 for PO.
    Has anyone an idea what is wrong?
    We are using:
    SRM 400
    PI 2005_1_640
    support package 08
    R/3 46C Backend
    PI 2004_1_46C
    Rgds
    Dieter

    Hi Dieter,
    IF your shopping cart is considered to be complete by SRM (with a fixed vendor) the system will check if it can create a PO in R/3.
    For this, each item will request a META_INTERPRETE_DATA to R/3, asking if it can create a PO. If R/3 considers this data as incomplete, it will reply to create a PR.
    Now maybe it is time to try to debug.
    Christophe has suggested a way to debug without debuging into R/3 :
    - use BADI DETERMINE_TARGET_OBJECT and force PO creation
    - so the system will always try to create a PO
    - R/3 won't create the PO (for the same reason as in META_INTERPRETE_DATA), and will raise an error in SRM
    - finally you get the real error in application monitor (SC --> backend application errors)
    Kind regards,
    Yann

  • Shoppinf cart creation to creation of backeend PO

    Hi all,
    this is sankar. I am new to SRM-EBP. I want to know some technical details about how the process goes starting from the SC creation to the backend PO creation. ( i mean what are all the programs that work in between)
    1) first of all i want to know the landscape of the process.
    1) the user creates the SC in the EB web and press the "order" ( approval is not over ). at this point in time where the SC details are stored ( which tables ) and which programs (or ) function modules are working
    2) In which program the workflow is determined , like which managers have to be approve the SC and all.
    3) How the SC deatils are transfered to the backend, which progrmas carry out this task.
    I fpossible give me some material regarding this.
    Thsnks in advance
    sankar bhatta

    Hi Sankar,
    In fact it depends on the SRM version you use.
    1) The process is
    SC ordered  => Aproval WF
    At the end of the WF the FM 'BBP_REQREQ_TRANSFER' is called (it may have changed in the last versions).
    This FM determine what is the scenario for each item based on the customizing and BADIs(Local PO, Backend PR RS or PO, Requirement in the Sourcing Cockpit).
    2) All SRM documents are stored in the same tables, you can have the detail in transaction 'BBP_PD'
    3) There is 2 possibilities:
    -For the "old" WF (no approval, 1 step and 2 steps approval, completion WF), the agent determination (managers or purchaser) is made in the WF.
    - Since EBP 4.0, new WFs have been developed in SRM, and allow you to make the approver determination yourself in a BADI.
    4) SC items or POs(extended scenario) are transfered to the backend through META_BAPI process. In fact for each object method there is a table BBP_FUNCTION_MAP where the system gets the local SRM FM to call depending on the Backend type and version. In all these FM the system calls a backend FM in RFC mode in the backend system.
    Regards.
    Vadim

  • SRM 5.0: CLEAN_REQREQ_UP, BBP_REQEQ_TRANSFER and Webmonitor

    Hi SDN,
    we are on SRM 5.0 SP15. Classic Scenario with MM Backend.
    We have some issues with the webmoitoring. We have the clean job clean_reqreq_up running in 10 minutes intervals. Also we have bbp_get_status_2 every 20 minutes.
    Quite often we have red traffic lights in the webmonitor because users in the backend run transaction MB1A - Material withdrawal (referred to reservations) this leads to SM12 locks. So if now somebody sends a shopping cart from SRM with the same material, we get the backend applic. error: material locked by user xy.
    But even if the users leaves MB1A withdrawal transaction and in SM12 we can see in the backend, that the lock disappears, still the shopping carts keeps hanging in srm. Only via manual action we can transfer the shopping cart posions again. Before the users gets an error during transmission in the status view.
    In SPRO we have set SPOOL_LEAD_INTERVALL and SPOOL_MAX_RETRY. hel.spa.com says we have to delete SPRO entries if we have the clean job running - is that so? look at:
    [http://help.sap.com/saphelp_srm50/helpdata/de/24/64474ecfaf11d2b463006094b92d37/frameset.htm]
    I also noticed, that I can transfer shopping carts manaully vis FM BBP_REQREQ_TRANSFER. When calling afterwards clean_reqreq_up, I get the status view on srm side ok and then I can see there follow on documents. Still the webmonitor does not react and remains red.
    Can somebody spread some light on this?
    kind regards,
    matthias

    Define Objects in Backend System (Purch. Reqs, Reservations,
    You perform this step only if you create your Materials Management documents in a backend system.
    You specify the documents that are to be created in the backend system for a requirement coverage request.
    The following documents can be created:
    Purchase requisition
    Purchase order
    Reservation
    You enter a product category (such as office supplies, or hardware) and/or an organizational unit. The organizational unit contains the purchasing group that is responsible for procuring products in this category.
    You can enter the product category generically, such as Office*.
    Note
    The backend system is determined  using the product category in the requirement coverage request item. The item also contains the organizatinal unit.
    You can use the Business Add-In BBP_TARGET_OBJTYPE if you wish to implement a different logic for creating documents in the backend system.
    Example
    If purchasing group 01 wants to procure materials from the category Raw Materials, a reservation is to be created every time.
    If materials in the category PC are to be procured, a purchase requisition is to be created every time.
    Activities
    1. Enter the organizational unit and/or the category.
    2. Enter a source system.
    3. Choose the procurement type.
    Reservation if stock is available, otherwise external procurement
    The system creates a reservation if the material is subject to inventory management and sufficient stock quantity is available in the warehouse on the requested date.
    Always reservation for materials subject to inventory management
    The system creates a reservation if the material is subject to inventory management, irrespective of whether stock is available.you knew tis ver well.
    mutu

  • Error in process -in SRM not able to generate a PO in R/3

    Hi Experts,
    Can anyone tell me hwo to resolve this problem?
    This is classic scenario, version 4.0
    The user has raised a shopping cart without assigning vendor to it, so it has gone error in process as we dont have the Purchase requistion scenario.
    I have now assigned a vendor in the shopping cart by going to the sources of supply tab and giving my vendor in the preferred vendor and then ordered the shopping cart still I the approval and follow on documents are in errors and not able to generate an order
    Please suggets some FM or some solution thru which I can generate an order, I have used the following but not able to generate an order .
    I tried by BBP_PD_SC_RESUBMIT -FM
    BBP_REQREQ_TRANSFER - FM.
    BBP_PD_SC_TRANSFER_INTERNAL.
    but the problem is not yet resolved. Ours in N-step approval badi.
    Please suggest.
    Regards
    Srujank

    Hi Daniel,
    Thanks for your reply !!!
    I m sorry , I have already tried that actually, but didnt not work. Actually the shopping cart is already approved  for that I have made changes and re-submitted .
    the workflow is WS14000133, and N-step approval with Badi implementation.
    so i think this is not allowing me to change.
    Regards
    Srujank

  • Line item number not appearing in BE_OBJ_ITEM field in Table BBP_PDBEI

    Hi SRM Experts,
    We are on SRM7.0 (SP09) using classic scenario (SAP R/3 backend 4.6C). Since last few days, we are observing strange behaviour when SC is approved and transferred to backend. The SC remains in status I111(Item in transfer). The reports clean_reqreq_up and bbp_get_status_2 does not help.
    What I've observed is in BBP_PD, table BBP_PDBEI, the field BE_OBJ_ITEM is not updated... but all other fields are properly updated.
    BE_OBJ_ITEM
    BE_OBJECT_TYPE               BUS2012
    BE_OBJECT_ID                 7100000149
    As a result, even re-transferring the SC using BBP_REQREQ_TRANSFER does not help..
    This phenomenon is not appearing for all SC's but some SC's ...
    Can someone suggest any solution to above issue ?
    Thanks and Regards,
    Ram

    Hi
    Please delete the status I1111 for this SC from table CRM_JEST in Debug change mode and than exe FM # BBP_REQREQ_TRANSFER
    This is only aworkaround
    Regards
    Trinath

  • SC Status "follow on document created' but no PO has been generated.

    Hi All,
    We are in SRM 7 EhP2 extended classic scenario.. In the recent past we have noticed some Shopping carts which are approved fully. Workflow status is Finished. SC status is Approved in portal.But there is no PO created. In BBP_PD, we can see the status of the SC is in I1113: Follow on document created. Checked in RZ20, but no error. Tried to run FM BBP_PD_SC_TRANSFER and also BBP_REQREQ_TRANSFER but no luck. This is happening for a particular company code and only with few SC. Other SCs are working fine. Please suggest.

    You are right in saying that when a SC is approved the PO will be automatically created, but what about SC that does not have Supplier?
    Where does a SC goes if there is no assign supplier?
    You may also want to see if you have a PO number for the SC in BBP_PD.
    Mike

  • Item in process in shopping cart

    Hi.
    We have been facing the problem of transfering shopping cart in R/3 for last 2 weeks as some of the shopping carts get stucked with message "Item in transfer process".  We could not figure out the reason of this problem, why not all shopping cart, but some of the cases, this problem is coming.
    Now I want to clear these shopping carts.
    I have already done following steps, but no change in status,
    1. Checked Application monitor, RZ20, SMQ1. SMQ2
    2. No record in BBP_DOCUMENT_TAB
    3. Executed CLEAN_REQREQ_UP
    4. executed BBP_ALERT_SB_NOTTRANSFERED
    5.Checked status in BBP_PD, showing as items in status "Item in transfer process (I1111)" and header as "Approved (I1129)"
    6. executed BBP_REQREQ_TRANSFER, and found it is not going up to the BAPI for creating backend document as it is discarding all the items having the status I1111.
    Pls help me to clear these shopping carts as well as to figure out the rootcause.
    Thanks and regards.
    Sriparna.

    Hello,
    You can try resubmitting the shopping carts in the satus I1111 by runnin
    g the report BBP_ALERT_SB_NOTTRANSFERED. This report will change the
    status of the shopping carts which are in I1111 to I1112. After running
    this report, you can transfer the cart by executing the function module
    bbp_reqreq_resubmit.
    Shopping carts might get stuck in status I1111 due to communication
    problems with the r/3 backend. So please check the note  557913
    which will try to spool the transfer. It will try to transfer
    once the communication problem is resolved and it will avoid similier
    problems in future.
    If it could not transfer it again, then it will be
    recorded in application monitors as local errors for shopping carts.
    You have to access that as administrator. Correct the errors there and
    try transferring the shopping cart again. That is the standard way of
    transferring the stuck shopping carts.
    The SC's can be transferred manually by debugging the function module
    BBP_REQREQ_TRANSFER.
    For the shopping cart correction choose the corresponding report below
    according to the current status:
    Note    Status                R/3 Follow-on   Correction
                                  doc. created
    441768  I1111(active)                   No   BBP_ALERT_SB_NOTTRANSFERED
    865797  I1112                           Yes  BBP_ALERT_SB_NOTTRANSFERED
    854478  I1111(active), I1112            No   coding correction
    631513  I1112 without any RZ20 entry    No   BBP_ALERT_SC_STATUS_ERROR
    982441  I1129 without I1111             No   BBP_PD_RETRY_TRANSFERE
    825761  I1112                           Yes  BBP_SC_CORR_STATUS_UPDATE_1
    859891  I1129 without I1111             No   coding correction
    636910  I1015 (active) instead of I1129 -    Z_BBP_SC_WFL_STATUS
    622113  I1113 but object links missing  Yes  Z_SC_STATUS_CHECK_1
    728536  I1111 (inactive)                Yes  Z_SC_STATUS_CHECK_2
            without I1112 or I1113
    729967  I1111 (active)                  Yes  Z_SC_STATUS_CHECK_3
            without I1112 or I1113
    757625  I1111 (inactive), but I1112     Yes  Z_SC_STATUS_CHECK_4
            instead of I1113
    755769  I1111 (inactive) I1113          Yes  Z_SC_STATUS_CHECK_5
            but object links missing
    781473  I1111 (inactive), without I1112 Yes  Z_SC_STATUS_CHECK_6
            or I1113, missing object links
    899006  I1112, I1113,                   Yes  Z_SC_STATUS_CHECK_7
    949162  I1111 (active), I1113,          Yes  Z_SC_STATUS_CHECK_8
            missing object links
    1084022 I1111 (inactive), I1113,        Yes  Z_APPLOG_SC_RS /SRM40 Pilot
            but missing BE_OBJ_ITEM
    I hope this will help.
    Kind regards,
    Gaurav
    PLEASE REWARD FULL POINTS FOR USEFUL REPLIES

  • Force currency in PO creation

    Hi all.
    SRM 4.0, backend ECC 6.0. Extended classic scenario.
    I need information from other wise men, thus I turn to this forum.
    I have several situations where my SC is created in 1 currency, but on PO creation the PO is switched to another currency, because the vendor might have different currencies depending on purchasing organization. I have raised an OSS because I really didn't believe that this could be standard, but it is I am affraid. Now, if i want to force the SC currency through to the PO creation, where would you do that? Surely there must be a BAdI where this could be maintained, and I am thinking about the BBP_CREATE_PO_BACK or related. In my system I cannot rely on the currency determination of the standard system, so I really need some kind of manual forcing of the currency!
    Thanks for valuable input.

    Thank you for the information. However, this is not what I am looking for.
    As already mentioned I have already raised an OSS message with the problem to SAP, and they told me that this was standard SRM behaviour.
    Let me explain even more thoroughly (and technically).
    The SC is in currency USD. The vendor is maintained for several different pur orgs in backend and in SRM - different currencies. When the SC is approved, this will trigger the BBP_REQREQ_TRANSFER - in here the pur org is 425, which already here is incorrect. When creating the PO this pur org is used to find the org unit, that again is used to look into BP to see the currency of this org unit (pur org). However, the SRM determines this pur org incorrectly to begin with, EVEN THOUGH the correct org units are mentioned within the BBP_PD of the shopping cart, so the data are OK. I have a BAdI later on that modifies the pur org to be correct, so I end up with the correct org data in the backend/SRM but the currency being used is taken from the incorrect pur org.
    So - which tools would I use to force the SC currency and pur org mentioned in BBP_PD to check this currency?

Maybe you are looking for

  • How To Delete Number of E-mails Next to "Mail" Icon

    How do I delete the "3534" number that is next to the "Mail" icon and shown in my "Inbox"? I had previously deleted all of these e-mails including "Trash" and they no longer show up anywhere except for the number "3534".   At the time that I deleted

  • Widgets not appearing on Dock

    My cat stood on my computer and deleted my widgets from my dock. I cant find them on the applications, but I have found them in the downloads. I cant drag from the downloads onto the dock, so how can I get them back onto my dock? Thanks

  • Scheduling Job for CJB2

    Do any of you know how to schedule periodic jobs for CJB2 - automatic settlement rule generation (for PS)? The selection screen cannot be saved to create a variant that can be then used in creating the job in SM36. Praveen.

  • Want to save data

    Hello Experts, I have created an interactive form for test, it has one text field and one numc field. I have created structure with fields one text and one numc. I have created form using SFP.  I want to save the data in the structure if user enters

  • Unable to connect to Windows share

    I had this problem before, I have no idea how I fixed it. I cannot connect to my Windows machine via Finder any more. I hooked a printer up to that machine, shared it, decided to add a guest account for others to access it. And bam, can't connect to