Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8695

Re: error msgs not coming to bdcmsgcoll internal table

$
0
0

Hi Rajendra,

i have seen your recording , and have done necessary changes, just do one thing more here

In place of field1, field2 and field3, put your primary data field through you wants to see error or success

messages, please do it .It will fulfill your requirements.

 

report ZFB01_POST_DOCUMENT

       no standard page heading line-size 255.

 

 

TYPE-POOLS : TRUXS.

 

 

TYPES:  BEGIN OF ty_input,

 

 

(Here just change your all input fields)

here are the sample how you have to write your fields, whose values is to be filled through BDC.

Please do it,

 

        bldat(10)   TYPE c,  "Document Date in Document

        blart(02)   TYPE c,  "Document Type

        bukrs(04)   TYPE c,  "Company Code

        budat(10)   TYPE c,  "Posting Date in the Document

        monat(2)    TYPE c,  "Period

        waers(5)    TYPE c,  "Currency key

        xblnr(16)   TYPE c,  "REFERENCE NUM

        newbs(02)   TYPE c,  "Posting Key for the Next Line Item

        newko(17)   TYPE c,  "Account or Matchcode for the Next Line Item

        wrbtr(18)   TYPE c,  "Amount

        gsber(04)   TYPE c,  "Business Area

       

 

END OF ty_input.

 

 

 

 

DATA : BEGIN OF options.

        INCLUDE STRUCTURE ctu_params.

DATA : BEGIN OF options.

        INCLUDE STRUCTURE ctu_params.

DATA : END OF options.
DATA: i_messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE,

      l_message LIKE bapiret2-message.

DATA: p_mode TYPE c.
DATA  BEGIN OF it_error OCCURS 1.
DATA : text(100)  TYPE c.
DATA  END   OF it_error.
DATA  BEGIN OF it_success OCCURS 1.
DATA:  text(100) TYPE c.
DATA  END   OF it_success.
DATA: it_raw TYPE truxs_t_text_data.

 

 

SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP 1.
*parameters: Customer radiobutton group G1,
*            Vendor  radiobutton group G1.
PARAMETERS : p_path LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN : END   OF BLOCK b1.
SELECTION-SCREEN : BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECTION-SCREEN SKIP 1.
PARAMETERS : mode_a      RADIOBUTTON    GROUP  r1,

             mode_n      RADIOBUTTON    GROUP  r1.

SELECTION-SCREEN : END   OF BLOCK b2.
*--------------------------------------------------------------------*
* AT SELECTION SCREEN
*--------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
CALL FUNCTION 'F4_FILENAME'
   EXPORTING

      field_name = 'P_FILE '

   IMPORTING

      file_name  = p_path.

 

 

START-OF-SELECTION.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
   EXPORTING

      i_line_header        = 'X'

      i_tab_raw_data       = it_raw       " WORK TABLE

      i_filename           = p_path

   TABLES

      i_tab_converted_data = it_input[]  "ACTUAL DATA

   EXCEPTIONS

      conversion_failed    = 1

      OTHERS               = 2.

 

 

  IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  ENDIF.

 

 

  LOOP AT it_input.

  IF sy-tabix EQ 1 .  "for first  row

    CONTINUE.

  ENDIF.

 

 

ENDLOOP.

*--------------------------------------------------------------------*\

* start of selection

*--------------------------------------------------------------------*

START-OF-SELECTION.

 

 

PERFORM upload_data.

 

 

 

 

*   Report for success

  PERFORM  success_text.

*   Report for Error

  PERFORM  error_text.

 

 

END-OF-SELECTION.

*

*  PERFORM bdc_transaction USING 'FB01'.

*

*  PERFORM close_group.

*&---------------------------------------------------------------------*

*&      Form  UPLOAD_DATA

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

form UPLOAD_DATA .

* PERFORM open_group.

   IF mode_a EQ 'X'.

    p_mode = 'A'.

  ELSEIF mode_n EQ 'X'.

    p_mode = 'N'.

  ENDIF.

 

 

  options-defsize = 'X'.

  options-updmode = ''.

  options-dismode = p_mode.

 

 

LOOP AT it_input INTO wa_input.

 

 

        PERFORM zz1bdc_dynpro      USING 'SAPMSVMA' '0200'.

        PERFORM zz1bdc_field       USING 'BDC_CURSOR'

                                      'VCLDIR-VCLNAME'.

        PERFORM zz1bdc_field       USING 'BDC_OKCODE'

                                      '=UPD'.

        PERFORM zz1bdc_field       USING 'VCLDIR-VCLNAME'

                                      'VC_T012'."VCLNAME_001.

        PERFORM zz1bdc_dynpro      USING 'SAPLSVIX' '0100'.

        PERFORM zz1bdc_field       USING 'BDC_CURSOR'

                                      'D0100_FIELD_TAB-LOWER_LIMIT(01)'.

        PERFORM zz1bdc_field       USING 'D0100_FIELD_TAB-LOWER_LIMIT(01)' '0001'.

        PERFORM zz1bdc_field       USING 'BDC_OKCODE'

                                      '=OKAY'.

        PERFORM zz1bdc_dynpro      USING 'SAPLFHBANKC' '0100'.

        PERFORM zz1bdc_field       USING 'BDC_CURSOR'

                                      'V_T012-BUKRS'.

        PERFORM zz1bdc_field       USING 'V_T012-BUKRS'

                                      'AP01'.

        PERFORM zz1bdc_field       USING 'BDC_OKCODE'

                                      '=NEWL'.

        PERFORM zz1bdc_dynpro      USING 'SAPLFHBANKC' '0101'.

        PERFORM zz1bdc_field       USING 'BDC_CURSOR'

                                      'V_T012-BANKL'.

        PERFORM zz1bdc_field       USING 'BDC_OKCODE'

                                      '=SAVE'.

        PERFORM zz1bdc_field       USING 'V_T012-HBKID'

                                    wa1-f3." HBKID_002.

 

 

 

 

        PERFORM zz1bdc_field       USING 'V_T012-BANKS'

                                    wa1-f4. " BANKS_003.

        PERFORM zz1bdc_field       USING 'V_T012-BANKL'

                                    wa1-f5."  BANKL_004.

        PERFORM zz1bdc_dynpro      USING 'SAPLBANK' '0100'.

        PERFORM zz1bdc_field       USING 'BDC_CURSOR'

                                      'BNKA-BNKLZ'.

        PERFORM zz1bdc_field       USING 'BDC_OKCODE'

                                     '=ENTR'.

        PERFORM zz1bdc_field       USING 'BNKA-BANKA'

                                     wa1-f6." BANKA_005.

        PERFORM zz1bdc_field       USING 'BNKA-PROVZ'

                                      wa1-f7."

        PERFORM zz1bdc_field       USING 'BNKA-STRAS'

                                      wa1-f8."

        PERFORM zz1bdc_field       USING 'BNKA-ORT01'

                                      wa1-f9."

        PERFORM zz1bdc_field       USING 'BNKA-BRNCH'

                                      wa1-f10."

        PERFORM zz1bdc_field       USING 'BNKA-SWIFT'

                                      wa1-f11."

        PERFORM zz1bdc_field       USING 'BNKA-BGRUP'

                                      wa1-f12."

        PERFORM zz1bdc_field       USING 'BNKA-XPGRO'

                                      wa1-f13."

        PERFORM zz1bdc_field       USING 'BNKA-BNKLZ'

                                      wa1-f14."

        PERFORM zz1bdc_dynpro      USING 'SAPLSTRD' '0300'.

        PERFORM zz1bdc_field       USING 'BDC_CURSOR'

                                     'KO008-TRKORR'.

 

 

        PERFORM zz1bdc_field       USING 'KO008-TRKORR'

                                      'IDSK901135'.

        PERFORM zz1bdc_field       USING 'BDC_OKCODE'

                                      '=LOCK'.

        PERFORM zz1bdc_dynpro      USING 'SAPLFHBANKC' '0101'.

        PERFORM zz1bdc_field        USING 'BDC_CURSOR'

                                      'V_T012-BANKL'.

        PERFORM zz1bdc_field       USING 'BDC_OKCODE'

                                      '=UEBE'.

        PERFORM zz1bdc_dynpro       USING 'SAPLFHBANKC' '0100'.

        PERFORM zz1bdc_field       USING 'BDC_CURSOR'

                              'V_T012-BUKRS'.

        PERFORM zz1bdc_field      USING 'BDC_OKCODE'

                              '=BACK'.

        PERFORM zz1bdc_dynpro      USING 'SAPMSVMA' '0200'.

        PERFORM zz1bdc_field       USING 'BDC_OKCODE'

                                '/EBACK'.

        PERFORM zz1bdc_field       USING 'BDC_CURSOR'

                                      'VCLDIR-VCLNAME'.

 

 

        wa_ctuparams-racommit = 'X'.

        wa_ctuparams-dismode = 'A'.

        wa_ctuparams-updmode = 'S'.

       

CALL TRANSACTION 'FB01' USING bdcdata

                            OPTIONS FROM options

                            MESSAGES INTO i_messtab.

 

 

 

 

   IF SY-SUBRC NE 0.
     CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'

        EXPORTING

          id         = sy-msgid

          number     = sy-msgno

          language   = sy-langu

          textformat = 'ASC'

          message_v1 = sy-msgv1

          message_v2 = sy-msgv2

          message_v3 = sy-msgv3

          message_v4 = sy-msgv4

        IMPORTING

          message    = l_message.

      .

      CONCATENATE l_message '-' wa_input-field1 wa_input-field2 wa_input-field3 INTO it_error-text

      SEPARATED BY ' '.

      APPEND it_error.

   ELSE.

      CONCATENATE 'DATA UPLOADED SUCCESSFULLY :' wa_input-field1  wa_input-field2 wa_input-field3

      INTO it_success-text SEPARATED BY ' '.

      APPEND it_success.

    ENDIF.

    REFRESH bdcdata.

    CLEAR: wa_input,l_message.

ENDLOOP.

***ENDLOOP.

endform.

 

 

 

 

 

 

                   " UPLOAD_DATA

 

 

FORM success_text .

 

 

LOOP AT it_success.
   AT FIRST.

      WRITE :/10  'Following records successfully uploaded'.

      ULINE.

   ENDAT.
   WRITE :/10  it_success-text.
ENDLOOP.

 

 

ENDFORM.

 

 

FORM error_text .

 

 

LOOP AT it_error.
   AT FIRST.

      WRITE :/10  'Following records  are not uploaded'.

      ULINE.

    ENDAT.

    WRITE :/10  it_error-text.

ENDLOOP.
ENDFORM.

Viewing all articles
Browse latest Browse all 8695

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>