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

Re: Problem related to bdc

$
0
0

Hello Smruti,

me too have put blank values in some fields, but still it is showing warning for those set of data

which are posted, and not showing any error result.Here is the code  i have written (revised)

code for BDC, please tell me where i'm doing wrong.

 

***********************************************************

"Program for ZBFI22

"Created By Sanjeev kumar

"Functional Consultant : Mr. Navneet Agarwal

**********************************************************

 

report ZFB01_POST_DOCUMENT

        no standard page heading line-size 255.

 

TYPE-POOLS : TRUXS.

   TYPES:  BEGIN OF str_final,

 

         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

         zterm(04)   TYPE c,  "Payment term

         zfbdt(10)   TYPE c,  "Baseline Date for Due Date Calculation

         zuonr       TYPE bseg-zuonr,  "Assignment

         sgtxt(35)   TYPE c,  "Text

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

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

         wrbtr1(18)  TYPE c,  "Amount

         mwskz(02)   TYPE c,  "Tax Code

         txjcd(15)   TYPE c,   "Tax Juridiction

         zuonr1(20)   TYPE c,   "Assignment

         sgtxt1(35)   TYPE c,  "Text

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

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

         gsber1(04)   TYPE c,  "Business Area

          kostl(10)   type c,   "cost center

         wrbtr2(18)  TYPE c,  "Amount

         mwskz1(02)   TYPE c,   "Tax Code

         txjcd1(15)   TYPE c,  "Tax Juridiction

         valut(10)   TYPE c,  "Value line Date

         zuonr2(20)  TYPE C,  "ASSIGNMENT

         sgtxt2(35)   TYPE c,  "Text

         gsber2(04)   TYPE c,  "Business Area

         kostl1(10)   type c,   "cost center

 

         END OF str_final.

 

***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 : it_final TYPE STANDARD TABLE OF str_final WITH HEADER LINE.

   DATA : IT_FILE  LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.

*****  DATA : BEGIN OF i_error_messtab OCCURS 0.

*****       INCLUDE STRUCTURE bdcmsgcoll.

*****  DATA : END OF i_error_messtab.

 

*DATA: p_mode TYPE c.

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.

 

   DATA : bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE.

   DATA : messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

   DATA : bmode(1).

****  DATA: i_messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE,

****      l_message LIKE bapiret2-message.

 

   DATA : no_recs1(10),

          count(10),

          fl_error TYPE i,

          text1(100),

          counter(2).

 

TABLES T100.

DATA : TEXT TYPE T100-TEXT.

 

SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-001.

SELECTION-SCREEN SKIP 1.

PARAMETERS : p_file like IBIPPARMS-PATH. "TYPE string.

 

SELECTION-SCREEN END OF BLOCK blk.

 

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-002.

PARAMETERS : mode1  RADIOBUTTON GROUP a,

              mode2  RADIOBUTTON GROUP a.

SELECTION-SCREEN END OF BLOCK blk1.

 

 

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

*&      Form  UPLOAD_DATA

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

*       text

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

 

 

 

AT SELECTION-SCREEN.

   IF mode1 NE space.

     bmode = 'A'.

   ELSE.

     bmode = 'N'.

   ENDIF.

 

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

   PERFORM get_f4.

 

   start-of-selection.

 

   PERFORM get_file.

****  PERFORM SUCCESS_TEXT.

****  PERFORM ERROR_TEXT.

*start-of-selection.

 

*perform open_group.

 

LOOP AT it_final.

perform bdc_dynpro      using 'SAPMF05A' '0100'.

perform bdc_field       using 'BDC_CURSOR'

                               'RF05A-NEWKO'.

perform bdc_field       using 'BDC_OKCODE'

                               '/00'.

perform bdc_field       using 'BKPF-BLDAT'

                               it_final-BLDAT.             "'29.05.2013'.

perform bdc_field       using 'BKPF-BLART'

                               it_final-BLART.             "'R1'.

perform bdc_field       using 'BKPF-BUKRS'

                               it_final-BUKRS.             "'1100'.

perform bdc_field       using 'BKPF-BUDAT'

                               it_final-BUDAT.             "'29.05.2013'.

perform bdc_field       using 'BKPF-MONAT'

                               it_final-MONAT.             "'2'.

perform bdc_field       using 'BKPF-WAERS'

                               it_final-WAERS.             "'INR'.

perform bdc_field       using 'BKPF-XBLNR'

                               it_final-XBLNR.             "'123'.

perform bdc_field       using 'FS006-DOCID'

                               '*'.

perform bdc_field       using 'RF05A-NEWBS'

                               it_final-NEWBS.             "'01'.

perform bdc_field       using 'RF05A-NEWKO'

                               it_final-NEWKO.             "'4000000612'.

perform bdc_dynpro      using 'SAPMF05A' '0301'.

perform bdc_field       using 'BDC_CURSOR'

                               'RF05A-NEWKO'.

perform bdc_field       using 'BDC_OKCODE'

                               '=S+'.

perform bdc_field       using 'BSEG-WRBTR'

                               it_final-WRBTR.             "'20000'.

perform bdc_field       using 'BSEG-GSBER'

                               it_final-GSBER.             "'1105'.

perform bdc_field       using 'BSEG-ZTERM'

                               it_final-ZTERM.             "'0001'.

perform bdc_field       using 'BSEG-ZFBDT'

                               it_final-ZFBDT.             "'29.05.2013'.

perform bdc_field       using 'BSEG-ZUONR'

                               it_final-ZUONR.             "'1234'.

perform bdc_field       using 'BSEG-SGTXT'

                               it_final-SGTXT.             "'TEST1'.

perform bdc_field       using 'RF05A-NEWBS'

                               it_final-NEWBS1.            "'50'.

perform bdc_field       using 'RF05A-NEWKO'

                               it_final-NEWKO1.            "'3210025'.

perform bdc_dynpro      using 'SAPMF05A' '0300'.

perform bdc_field       using 'BDC_CURSOR'

                               'RF05A-NEWKO'.

perform bdc_field       using 'BDC_OKCODE'

                               '=S+'.

perform bdc_field       using 'BSEG-WRBTR'

                               it_final-WRBTR1.           "'15000'.

perform bdc_field       using 'BSEG-MWSKZ'

                               it_final-MWSKZ.            "'A0'.

perform bdc_field       using 'BSEG-TXJCD'

                               it_final-TXJCD.            "'9000'.

perform bdc_field       using 'BSEG-ZUONR'

                               it_final-ZUONR1.           "'12345'.

perform bdc_field       using 'BSEG-SGTXT'

                               it_final-SGTXT1.           "'TEST2'.

perform bdc_field       using 'RF05A-NEWBS'

                               it_final-NEWBS2.           "'50'.

perform bdc_field       using 'RF05A-NEWKO'

                               it_final-NEWKO2.           "'1215030'.

perform bdc_dynpro      using 'SAPLKACB' '0002'.

perform bdc_field       using 'BDC_CURSOR'

                               'COBL-KOSTL'.

perform bdc_field       using 'BDC_OKCODE'

                               '=ENTE'.

perform bdc_field       using 'COBL-GSBER'

                               it_final-GSBER1.           "'1105'.

perform bdc_field       using 'COBL-KOSTL'

                               it_final-KOSTL.            "'11-R001'.

perform bdc_dynpro      using 'SAPMF05A' '0300'.

perform bdc_field       using 'BDC_CURSOR'

                               'RF05A-NEWKO'.

perform bdc_field       using 'BDC_OKCODE'

                               '=BU'.

perform bdc_field       using 'BSEG-WRBTR'

                               it_final-WRBTR2.            "'5000'.

perform bdc_field       using 'BSEG-MWSKZ'

                               it_final-MWSKZ1.            "'A0'.

perform bdc_field       using 'BSEG-TXJCD'

                               it_final-TXJCD1.            "'9000'.

perform bdc_field       using 'BSEG-VALUT'

                               it_final-VALUT.             "'29.05.2013'.

perform bdc_field       using 'BSEG-ZUONR'

                               it_final-ZUONR2.            "'123456'.

perform bdc_field       using 'BSEG-SGTXT'

                               it_final-SGTXT2.            "'TEST3'.

perform bdc_field       using 'RF05A-NEWBS'

                               it_final-NEWBS1.             "'50'.

perform bdc_field       using 'RF05A-NEWKO'

                               it_final-NEWKO1.            "'3210025'.

perform bdc_field       using 'DKACB-FMORE'

                               'X'.

perform bdc_dynpro      using 'SAPLKACB' '0002'.

perform bdc_field       using 'BDC_CURSOR'

                               'COBL-KOSTL'.

perform bdc_field       using 'BDC_OKCODE'

                               '=ENTE'.

perform bdc_field       using 'COBL-GSBER'

                               it_final-GSBER.           "'1105'.

perform bdc_field       using 'COBL-KOSTL'

                               it_final-KOSTL.           "'11-R001'.

perform bdc_dynpro      using 'SAPMF05A' '0300'.

perform bdc_field       using 'BDC_OKCODE'

                               '/EPOS'.

perform bdc_field       using 'BDC_CURSOR'

                               'BSEG-WRBTR'.

perform bdc_dynpro      using 'SAPMF05A' '0700'.

perform bdc_field       using 'BDC_CURSOR'

                               'RF05A-NEWBS'.

perform bdc_field       using 'BDC_OKCODE'

                               '=BU'.

perform bdc_field       using 'BKPF-XBLNR'

                               it_final-XBLNR.              "'123'.

*perform bdc_transaction using 'FB01'.

 

*****CALL TRANSACTION 'FB01' USING bdcdata MODE bmode MESSAGES  INTO i_messtab.

*****    CLEAR bdcdata.

*****    REFRESH bdcdata.

*****    CLEAR it_final.

*****

*********IF i_messtab NE 0.

*****  LOOP AT i_messtab.

*****    CASE i_messtab-msgtyp.

*****      WHEN 'E'.

*****  CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'

*****    EXPORTING

*****      ID                = i_messtab-msgid

*****      NUMBER            = i_messtab-msgnr

*****     LANGUAGE          = SY-LANGU

*****      TEXTFORMAT        = 'ASC'

******     LINKPATTERN       =

*****     MESSAGE_V1        = sy-msgv1

*****     MESSAGE_V2        = sy-msgv2

*****     MESSAGE_V3        = sy-msgv3

*****     MESSAGE_V4        = sy-msgv4

*****   IMPORTING

*****     MESSAGE           = l_message.

******     RETURN            =

******   TABLES

******     TEXT              =

*****            .

*****  CONCATENATE l_message '-' it_final-newko it_final-wrbtr it_final-budat INTO it_error-text

*****      SEPARATED BY ' '.

*****      APPEND it_error.

*****      CLEAR : it_error, l_message.

******      ENDCASE.

******      ENDLOOP.

*****    WHEN 'S'.

*********    ELSE.

*****      CONCATENATE 'DATA UPLOADED SUCCESSFULLY :' it_final-newko  it_final-wrbtr it_final-budat

*****      INTO it_success-text SEPARATED BY ' '.

*****      APPEND it_success.

********    ENDIF.

*****    ENDCASE.

*****    ENDLOOP.

*****    REFRESH i_messtab.

*****    CLEAR: it_final,l_message.

 

CALL TRANSACTION 'FB01' USING BDCDATA MODE BMODE UPDATE 'S' MESSAGES INTO i_messtab.

DATA ER_MSG(100).

LOOP AT i_messtab.

   CASE i_messtab-MSGTYP.

     WHEN 'E'.

       FORMAT COLOR COL_NEGATIVE.

     WHEN 'W'.

       FORMAT COLOR COL_TOTAL.

     WHEN 'I'.

       FORMAT COLOR COL_KEY.

     WHEN 'A'.

       FORMAT COLOR COL_GROUP.

     WHEN 'S'.

       FORMAT COLOR COL_POSITIVE.

     WHEN OTHERS.

       FORMAT COLOR COL_NORMAL.

    ENDCASE.

 

SELECT SINGLE TEXT FROM T100 INTO T100-TEXT WHERE SPRSL = i_messtab-MSGSPRA AND ARBGB = i_messtab-MSGID

                                                                            AND MSGNR = i_messtab-MSGNR.

 

   ER_MSG = T100-TEXT.

   REPLACE '&' IN ER_MSG WITH i_messtab-MSGV1.

   REPLACE '&' IN ER_MSG WITH i_messtab-MSGV2.

   REPLACE '&' IN ER_MSG WITH i_messtab-MSGV3.

   REPLACE '&' IN ER_MSG WITH i_messtab-MSGV4.

 

   WRITE:/1 SY-VLINE, 02 i_messtab-MSGTYP,

          3 SY-VLINE, 04 i_messtab-TCODE,

          25 SY-VLINE, 26 ER_MSG,

          110 SY-VLINE.

 

ENDLOOP.

 

ENDLOOP.

 

                    " 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.

*perform close_group.

 

 

 

FORM BDC_DYNPRO USING PROGRAM DYNPRO.

   CLEAR BDCDATA.

   BDCDATA-PROGRAM  = PROGRAM.

   BDCDATA-DYNPRO   = DYNPRO.

   BDCDATA-DYNBEGIN = 'X'.

   APPEND BDCDATA.

ENDFORM.

 

FORM BDC_FIELD USING FNAM FVAL.

   IF FVAL <> SPACE.

     CLEAR BDCDATA.

     BDCDATA-FNAM = FNAM.

     BDCDATA-FVAL = FVAL.

     APPEND BDCDATA.

   ENDIF.

ENDFORM.

 

form get_f4.

CALL FUNCTION 'F4_FILENAME'

  EXPORTING

    PROGRAM_NAME        = SYST-CPROG

    DYNPRO_NUMBER       = SYST-DYNNR

    FIELD_NAME          = 'P_FILE'

  IMPORTING

    FILE_NAME           = P_FILE

           .

ENDFORM.

 

 

FORM get_file .

   CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

     EXPORTING

       FILENAME                      = P_FILE

       I_BEGIN_COL                   = 1

       I_BEGIN_ROW                   = 2

       I_END_COL                     = 100

       I_END_ROW                     = 6000

     TABLES

       INTERN                        = IT_FILE

    EXCEPTIONS

      INCONSISTENT_PARAMETERS       = 1

      UPLOAD_OLE                    = 2

      OTHERS                        = 3

             .

   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_FILE.

   CASE IT_FILE-COL.

      WHEN 1.

       it_final-BLDAT = IT_FILE-VALUE.

      WHEN 2.

       it_final-BLART = IT_FILE-VALUE.

      WHEN 3.

       it_final-BUKRS = IT_FILE-VALUE.

      WHEN 4.

       it_final-BUDAT = IT_FILE-VALUE.

      WHEN 5.

       it_final-MONAT = IT_FILE-VALUE.

      WHEN 6.

       it_final-WAERS = IT_FILE-VALUE.

      WHEN 7.

       it_final-XBLNR = IT_FILE-VALUE.

      WHEN 8.

       it_final-NEWBS = IT_FILE-VALUE.

      WHEN 9.

       it_final-NEWKO = IT_FILE-VALUE.

      WHEN 10.

       it_final-WRBTR = IT_FILE-VALUE.

      WHEN 11.

       it_final-GSBER = IT_FILE-VALUE.

      WHEN 12.

       it_final-ZTERM = IT_FILE-VALUE.

      WHEN 13.

       it_final-ZFBDT = IT_FILE-VALUE.

      WHEN 14.

       it_final-ZUONR = IT_FILE-VALUE.

      WHEN 15.

       it_final-SGTXT = IT_FILE-VALUE.

      WHEN 16.

       it_final-NEWBS1 = IT_FILE-VALUE.

      WHEN 17.

       it_final-NEWKO1 = IT_FILE-VALUE.

      WHEN 18.

       it_final-WRBTR1 = IT_FILE-VALUE.

      WHEN 19.

       it_final-MWSKZ = IT_FILE-VALUE.

      WHEN 20.

       it_final-TXJCD = IT_FILE-VALUE.

      WHEN 21.

       it_final-ZUONR1 = IT_FILE-VALUE.

      WHEN 22.

       it_final-SGTXT1 = IT_FILE-VALUE.

      WHEN 23.

       it_final-NEWBS2 = IT_FILE-VALUE.

      WHEN 24.

       it_final-NEWKO2 = IT_FILE-VALUE.

      WHEN 25.

       it_final-GSBER1 = IT_FILE-VALUE.

      WHEN 26.

       it_final-KOSTL = IT_FILE-VALUE.

      WHEN 27.

       it_final-WRBTR2 = IT_FILE-VALUE.

      WHEN 28.

       it_final-MWSKZ1 = IT_FILE-VALUE.

      WHEN 29.

       it_final-txjcd1 = IT_FILE-VALUE.

      WHEN 30.

       it_final-valut = IT_FILE-VALUE.

      WHEN 31.

       it_final-zuonr2 = IT_FILE-VALUE.

      WHEN 32.

       it_final-sgtxt2 = IT_FILE-VALUE.

      WHEN 33.

       it_final-gsber2 = IT_FILE-VALUE.

      WHEN 34.

       it_final-KOSTL1 = IT_FILE-VALUE.

 

 

       APPEND it_final.

       CLEAR it_final.

       ENDCASE.

    ENDLOOP.

 

 

 

 

ENDFORM.                    " SUCCESS_TEXT

 

 

                     " get_file


Viewing all articles
Browse latest Browse all 9236

Trending Articles



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