cancel
Showing results for 
Search instead for 
Did you mean: 

Supplier / vendor List Upload SRM

AkashPatel
Explorer
0 Kudos
496

Hello ,

Please provide sample code to upload using FM : BBP_PD_AVL_CREATE .

We trying alot but got error in return message .

Thanking You

Akash Patel

View Entire Topic
AkashPatel
Explorer
0 Kudos
Please find attachment for upload program.<br>
*&---------------------------------------------------------------------*
*& Report ZSRM_SUPLIST
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZSRM_SUPLIST.


DATA : I_PARK	    TYPE XFELD VALUE 'X',
       I_SAVE     TYPE XFELD VALUE 'X',
       I_TESTRUN  TYPE XFELD,
       I_HEADER   TYPE BBP_PDS_AVL_HEADER_IC,
       IT_ATTACH  TYPE BBPT_PDS_ATT_T,
       I_ITEM     TYPE BBPT_PD_AVL_ITEM_ICU,
       I_PARTNER  TYPE BBPT_PDS_PARTNER,
       W_PARTNER  TYPE BBP_PDS_PARTNER,
       I_ORGDATA  TYPE BBPT_PDS_ORG,
       W_ORGDATA  TYPE BBP_PDS_ORG,
       I_LONGTEXT TYPE BBPT_PDS_LONGTEXT,
       I_HCF      TYPE BBPT_PDS_HCF_AVL,
       I_ICF      TYPE BBPT_PDS_ICF_AVL,
       E_HEADER   TYPE BBP_PDS_AVL_HEADER_D,
       ET_ATTACH  TYPE BBPT_PDS_ATT_T,
       E_ITEM     TYPE BBPT_PD_AVL_ITEM_D,
       E_PARTNER  TYPE BBPT_PDS_PARTNER,
       E_ORGDATA  TYPE BBPT_PDS_ORG,
       E_LONGTEXT TYPE BBPT_PDS_LONGTEXT,
       E_HCF      TYPE BBPT_PDS_HCF_AVL,
       E_ICF      TYPE BBPT_PDS_ICF_AVL,
       E_STATUS   TYPE BBPT_PDS_STATUS,
       E_MESSAGES TYPE BBPT_PDS_MESSAGES.


DATA: LT_ITEM_IMPORT   TYPE  BBPT_PD_ITEM,
      LS_ITEM_IMPORT   TYPE   BBP_PDS_ITEM,
      LT_ITEM_EXPORT   TYPE  BBPT_PD_ITEM,
      LS_HEADER_IMPORT TYPE BBP_PDS_HEADER,
      LS_HEADER_EXPORT TYPE BBP_PDS_HEADER,
      LT_HCF_IMPORT    TYPE BBPT_PDS_HCF,
      LT_HCF_EXPORT    TYPE BBPT_PDS_HCF,
      LT_ICF_IMPORT    TYPE BBPT_PDS_ICF,
      LT_ICF_EXPORT    TYPE BBPT_PDS_ICF.




DATA : WA_HEADER TYPE BBP_PDS_AVL_HEADER_U,
       ITM       TYPE TABLE OF BBP_PDS_AVL_ITEM_ICU,
       WAM       TYPE BBP_PDS_AVL_ITEM_ICU.


DATA : ITT_ITEM    TYPE TABLE OF BBP_PDS_AVL_ITEM_ICU,
       WAA_ITEM    TYPE  BBP_PDS_AVL_ITEM_ICU,
       ITT_PARTNER TYPE TABLE OF  BBP_PDS_PARTNER,
       WAA_PARTNER TYPE  BBP_PDS_PARTNER.


TYPES : BEGIN OF TY_DATA ,
          CAT(10)  TYPE C,
          VEND(10) TYPE C,
        END OF TY_DATA.


DATA : IT_ITAB  TYPE TABLE OF TY_DATA,
       IT_ITAB1 TYPE TABLE OF TY_DATA,
       WA_ITAB  TYPE TY_DATA,
       WA_ITAB1 TYPE TY_DATA.


DATA : P_P TYPE RLGRAP-FILENAME .


DATA : LV_LINE TYPE I VALUE 0 .


DATA : LV_PARTNER TYPE BU_PARTNER_GUID .


PARAMETERS P_FILE TYPE C LENGTH 200.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
  DATA FILETABLES TYPE FILETABLE.
  DATA FILETABLE TYPE FILE_TABLE.
  DATA RC        TYPE I.




  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
    EXPORTING
      WINDOW_TITLE            = 'Testtitel'
      DEFAULT_FILENAME        = '*.xls'
      INITIAL_DIRECTORY       = 'D:\temp\'
      FILE_FILTER             = CL_GUI_FRONTEND_SERVICES=>FILETYPE_ALL
    CHANGING
      FILE_TABLE              = FILETABLES
      RC                      = RC
    EXCEPTIONS
      FILE_OPEN_DIALOG_FAILED = 1
      CNTL_ERROR              = 2
      ERROR_NO_GUI            = 3
      NOT_SUPPORTED_BY_GUI    = 4
      OTHERS                  = 5.


*  BREAK-POINT .


  READ TABLE FILETABLES INTO FILETABLE INDEX 1 .


  P_P = FILETABLE-FILENAME .


  CALL FUNCTION 'UPLOAD_XLS_FILE_2_ITAB'
    EXPORTING
      I_FILENAME = P_P
    TABLES
      E_ITAB     = IT_ITAB
    EXCEPTIONS
      FILE_ERROR = 1
      OTHERS     = 2.


  DELETE IT_ITAB INDEX 1 .


  IT_ITAB1[] = IT_ITAB[] .


  SORT IT_ITAB ASCENDING BY CAT .
  DELETE ADJACENT DUPLICATES FROM IT_ITAB COMPARING CAT .






  LOOP AT IT_ITAB INTO WA_ITAB.




    W_PARTNER-PARTNER_FCT = '00000051'.
    W_PARTNER-PARTNER_GUID = '1'.
*    W_PARTNER-PARTNER_GUID = '00000000000000000000000000000004'.
    W_PARTNER-P_GUID = '1'.
*    W_PARTNER-P_GUID = '00000000000000000000000000000001'.
    W_PARTNER-PARTNER_NO = '5E0783BBBA071ED797B36C28E3E0C05C'.
    APPEND W_PARTNER TO I_PARTNER .


    W_ORGDATA-GUID = '1'.
*    W_ORGDATA-GUID = '00000000000000000000000000000003'.
    W_ORGDATA-P_GUID = '1'.
*    W_ORGDATA-P_GUID = '00000000000000000000000000000001'.
    W_ORGDATA-PROC_ORG_RESP_OT = 'O'.
    W_ORGDATA-PROC_ORG_RESP_ID = '50000002'.
    W_ORGDATA-PROC_ORG_OT = 'O'.
    W_ORGDATA-PROC_ORG_ID = '50000002'.
    APPEND W_ORGDATA TO  I_ORGDATA .


    LS_HEADER_IMPORT-GUID = '1'.
*    LS_HEADER_IMPORT-GUID = '00000000000000000000000000000001'.
    LS_HEADER_IMPORT-DESCRIPTION = SY-UNAME.                  " Descrition
    LS_HEADER_IMPORT-PROCESS_TYPE	= 'VL' .
    LS_HEADER_IMPORT-OBJECT_TYPE  = 'BUS2206' .


    IF WA_ITAB-CAT  IS NOT INITIAL.
      LS_HEADER_IMPORT-CATEGORY_ID  = WA_ITAB-CAT .
      SELECT SINGLE CATEGORY_GUID FROM COMM_CATEGORY INTO  LS_HEADER_IMPORT-CATEGORY WHERE CATEGORY_ID = WA_ITAB-CAT  .
    ENDIF.
*    LS_HEADER_IMPORT-CATEGORY  = '5E0783BBBA071ED795B0533572B7C04A' .   " Category ID GUID


*    LS_HEADER_IMPORT-CATEGORY_ID  = 'EA50' .


    CALL FUNCTION 'BBP_PROCDOC_CREATE'
      EXPORTING
        I_PARK     = I_PARK
        I_SAVE     = I_SAVE
        I_TESTRUN  = I_TESTRUN
        I_HEADER   = LS_HEADER_IMPORT
        IT_ATTACH  = IT_ATTACH
      IMPORTING
        E_HEADER   = LS_HEADER_EXPORT
        ET_ATTACH  = ET_ATTACH
      TABLES
        I_ITEM     = LT_ITEM_IMPORT
        I_PARTNER  = I_PARTNER
        I_ORGDATA  = I_ORGDATA
        I_LONGTEXT = I_LONGTEXT
        I_HCF      = LT_HCF_IMPORT
        I_ICF      = LT_ICF_IMPORT
        E_ITEM     = LT_ITEM_EXPORT
        E_PARTNER  = E_PARTNER
        E_ORGDATA  = E_ORGDATA
        E_LONGTEXT = E_LONGTEXT
        E_HCF      = LT_HCF_EXPORT
        E_ICF      = LT_ICF_EXPORT
        E_STATUS   = E_STATUS
        E_MESSAGES = E_MESSAGES.


*    IF LS_HEADER_EXPORT-GUID IS NOT INITIAL .
*      CALL FUNCTION 'BBP_PD_AVL_SAVE'
*        EXPORTING
*          IV_HEADER_GUID = LS_HEADER_EXPORT-GUID.
*      COMMIT WORK AND WAIT.
*    ENDIF.
    IF LS_HEADER_EXPORT-OBJECT_ID IS NOT INITIAL.
      CLEAR LV_LINE .
      LOOP AT IT_ITAB1 INTO WA_ITAB1 WHERE CAT = WA_ITAB-CAT .


        MOVE-CORRESPONDING LS_HEADER_EXPORT TO WA_HEADER.
        ADD 1 TO LV_LINE .
        WAA_ITEM-GUID = LV_LINE.
*        WAA_ITEM-GUID = '1'.
*        WAA_ITEM-GUID = '00000000000000000000000000000001'.
        WAA_ITEM-PARENT = LS_HEADER_EXPORT-GUID .
        WAA_ITEM-NUMBER_INT = LV_LINE.
*        WAA_ITEM-NUMBER_INT = '1'.
*        WAA_ITEM-NUMBER_INT = '0000000001'.
        APPEND WAA_ITEM TO ITT_ITEM .


        SELECT SINGLE PARTNER_GUID FROM BUT000 INTO LV_PARTNER WHERE PARTNER = WA_ITAB1-VEND .


        IF LV_PARTNER IS NOT INITIAL .


          WAA_PARTNER-PARTNER_FCT = '00000019'.
          WAA_PARTNER-PARTNER_GUID = LV_LINE.
*        WAA_PARTNER-PARTNER_GUID = '1'.
*        WAA_PARTNER-PARTNER_GUID = '00000000000000000000000000000001'.
          WAA_PARTNER-P_GUID = WAA_ITEM-GUID .
          WAA_PARTNER-PARTNER_NO = LV_PARTNER.
*          WAA_PARTNER-PARTNER_NO = '5E0783BBBA071ED7A4DD3CCEBDDFC0BF'.
          APPEND WAA_PARTNER TO ITT_PARTNER .


        ENDIF.
*WAA_ITEM-GUID = '00000000000000000000000000000001'.
*WAA_ITEM-PARENT = LS_HEADER_EXPORT-GUID .
*WAA_ITEM-NUMBER_INT = '0000000002'.
*APPEND WAA_ITEM TO ITT_ITEM .
*
*WAA_PARTNER-PARTNER_FCT = '00000019'.
*WAA_PARTNER-PARTNER_GUID = '00000000000000000000000000000002'.
*WAA_PARTNER-P_GUID = WAA_ITEM-GUID .
*WAA_PARTNER-PARTNER_NO = '5E0783BBBA071ED7A4DD3CF6A27280BF'.
*APPEND WAA_PARTNER TO ITT_PARTNER .
      ENDLOOP.
      IF ITT_ITEM IS NOT INITIAL.
        CALL FUNCTION 'BBP_PD_AVL_UPDATE'
          EXPORTING
            I_PARK     = 'X'
            I_HEADER   = WA_HEADER
            I_SAVE     = 'X'
          TABLES
            I_ITEM     = ITT_ITEM
            I_PARTNER  = ITT_PARTNER
            E_MESSAGES = E_MESSAGES.
        IF E_MESSAGES IS INITIAL.
          CALL FUNCTION 'BBP_PD_AVL_SAVE'
            EXPORTING
              IV_HEADER_GUID = LS_HEADER_EXPORT-GUID.
          COMMIT WORK AND WAIT.
        ENDIF.
      ENDIF.


    ENDIF.
  ENDLOOP.
  BREAK-POINT.