Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BDC

Former Member
0 Likes
915

Hi all,

How to upload data for Transaction FB02.I have to upload the Longtext for Document Number.I have tried it, but i think there is need to use the Table Control.Can anybody give me the Code of F-02.

Thanks in Advance.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
788

Hi Dadapure Sharmishta.

I would like to suggest a few references, as it is quite similar to your requirement,

[SDN - Reference for adding long text in bdc for transaction FB01|;

[SDN Library - Standard Reference - ABAP Code Sample to Upload Data Using BDC recording|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d4c5e890-0201-0010-bd9a-c3fd8683fc97]

[SDN - Reference for multiple transactions - BDC for FB01|;

[SDN - Reference for BDC data upload for FB01|;

[SDN - Reference for Change document text in every item|;

Hope that's usefull.

Good Luck & Regards.

Harsh Dave

7 REPLIES 7
Read only

bpawanchand
Active Contributor
0 Likes
788
Read only

Former Member
0 Likes
788

hi,

DATA : BEGIN OF BDC_ITAB OCCURS 0.

INCLUDE STRUCTURE BDCDATA.

DATA : END OF BDC_ITAB.

DATA : BEGIN OF S_ITEM ,

KEY(3) type c,

NEWKO TYPE RF05A-NEWKO,

WRBTR(16) TYPE c,

ZUONR TYPE BSEG-ZUONR,

SGTXT TYPE BSEG-SGTXT,

AUFNR TYPE AUFK-AUFNR,

END OF S_ITEM.

data : v_index like sy-index.

data : line(3) type c.

DATA : MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

DATA : T_ITEM1 LIKE S_ITEM OCCURS 0 WITH HEADER LINE.

DATA : WA_ITEM LIKE T_ITEM1.

PARAMETERS : P_BUDAT(10) TYPE C NO-DISPLAY.

IMPORT T_ITEM1 FROM MEMORY ID 'ITEM'.

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' P_BUDAT..

perform bdc_field using 'BKPF-BLART' 'SA'.

perform bdc_field using 'BKPF-BUKRS' 'A100'.

perform bdc_field using 'BKPF-BUDAT' P_BUDAT.

perform bdc_field using 'BKPF-MONAT' '03'.

perform bdc_field using 'BKPF-WAERS' 'INR'.

read table t_item1 index 1 INTO WA_ITEM .

perform bdc_field using 'RF05A-NEWBS' WA_ITEM-KEY.

perform bdc_field using 'RF05A-NEWKO' WA_ITEM-NEWKO.

describe table t_item1 lines line.

loop at t_item1 from 2 to 3.

v_index = sy-TABIX..

perform bdc_dynpro using 'SAPMF05A' '0300'.

perform bdc_field using 'BDC_CURSOR' 'BSEG-SGTXT'.

perform bdc_field using 'BDC_OKCODE' '/00'.

v_index = v_index - 1.

CLEAR : WA_ITEM.

read table t_item1 index v_index INTO WA_ITEM .

IF SY-SUBRC = 0.

perform bdc_field using 'BSEG-WRBTR' WA_ITEM-WRBTR.

ENDIF.

perform bdc_field using 'BSEG-ZUONR' T_ITEM1-ZUONR.

perform bdc_field using 'BSEG-SGTXT' T_ITEM1-SGTXT.

perform bdc_field using 'RF05A-NEWBS' T_ITEM1-KEY.

perform bdc_field using 'RF05A-NEWKO' T_ITEM1-NEWKO.

perform bdc_dynpro using 'SAPLKACB' '0002'.

perform bdc_field using 'BDC_CURSOR' 'COBL-AUFNR'.

perform bdc_field using 'BDC_OKCODE' '=ENTE'.

perform bdc_field using 'COBL-AUFNR' T_ITEM1-AUFNR.

ENDLOOP.

perform bdc_dynpro using 'SAPMF05A' '0300'.

perform bdc_field using 'BDC_CURSOR' 'BSEG-SGTXT'.

perform bdc_field using 'BDC_OKCODE' '/00'.

perform bdc_field using 'BSEG-WRBTR' T_ITEM1-WRBTR.

perform bdc_field using 'BSEG-ZUONR' T_ITEM1-ZUONR.

perform bdc_field using 'BSEG-SGTXT' T_ITEM1-SGTXT.

perform bdc_field using 'RF05A-NEWBS' '50'.

perform bdc_field using 'RF05A-NEWKO' '106113'.

perform bdc_dynpro using 'SAPLKACB' '0002'.

perform bdc_field using 'BDC_CURSOR' 'COBL-AUFNR'.

perform bdc_field using 'BDC_OKCODE' '=ENTE'.

perform bdc_field using 'COBL-AUFNR' T_ITEM1-AUFNR.

perform bdc_dynpro using 'SAPMF05A' '0300'.

perform bdc_field using 'BSEG-WRBTR' '*'.

perform bdc_field using 'BDC_OKCODE' '=BU'.

perform bdc_dynpro using 'SAPLKACB' '0002'.

perform bdc_field using 'BDC_CURSOR' 'COBL-RMVCT'.

perform bdc_field using 'BDC_OKCODE' '=ENTE'.

break priyak.

CALL TRANSACTION 'F-02' USING BDC_ITAB MODE 'N' MESSAGES INTO MESSTAB.

EXPORT MESSTAB TO MEMORY ID '1234'.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDC_ITAB.

BDC_ITAB-PROGRAM = PROGRAM.

BDC_ITAB-DYNPRO = DYNPRO.

BDC_ITAB-DYNBEGIN = 'X'.

APPEND BDC_ITAB.

ENDFORM. "bdc_dynpro

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> ''.

CLEAR BDC_ITAB.

BDC_ITAB-FNAM = FNAM.

BDC_ITAB-FVAL = FVAL.

APPEND BDC_ITAB.

ENDIF.

ENDFORM. "bdc_field

Read only

0 Likes
788

Hi all

Can anybody give me code for FB02 not f-02.

Thanks

Read only

Former Member
Read only

Former Member
0 Likes
789

Hi Dadapure Sharmishta.

I would like to suggest a few references, as it is quite similar to your requirement,

[SDN - Reference for adding long text in bdc for transaction FB01|;

[SDN Library - Standard Reference - ABAP Code Sample to Upload Data Using BDC recording|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d4c5e890-0201-0010-bd9a-c3fd8683fc97]

[SDN - Reference for multiple transactions - BDC for FB01|;

[SDN - Reference for BDC data upload for FB01|;

[SDN - Reference for Change document text in every item|;

Hope that's usefull.

Good Luck & Regards.

Harsh Dave

Read only

Former Member
0 Likes
788

Ds,

see this is one of the example of FB01 BDC.for adding table control you need to amemd logic.for table control you can find in SDN lots of example.hope this would help.

REPORT z_etching_fb01
       NO STANDARD PAGE HEADING LINE-SIZE 255.
*etching invoice load
INCLUDE bdcrecx1.
TYPE-POOLS: truxs , slis.
*PARAMETERS: dataset(132) LOWER CASE DEFAULT
*                              'c:\temp\etchingload.txt'.
PARAMETER: pfile LIKE rlgrap-filename." OBLIGATORY.

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

PARAMETER:    p_kunnr LIKE kna1-kunnr OBLIGATORY,           "kna1-kunnr
              p_bukrs LIKE bseg-bukrs,
              p_mwskz LIKE t007a-mwskz OBLIGATORY,"t007a-mwskz
              p_prctr LIKE cepc-prctr OBLIGATORY,"cepc-prctr
*            p_newko LIKE ska1-saknr OBLIGATORY DEFAULT 41000000,"
            p_budat LIKE bkpf-budat OBLIGATORY ,
            p_hkont LIKE bseg-hkont OBLIGATORY DEFAULT 41000000 ,
            p_waers TYPE waers OBLIGATORY DEFAULT 'GBP'."tcurr-waers
SELECTION-SCREEN END OF BLOCK a.

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-002.
PARAMETER : report AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK b.
***    DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
*
*   If it is nessesary to change the data section use the rules:
*   1.) Each definition of a field exists of two lines
*   2.) The first line shows exactly the comment
*       '* data element: ' followed with the data element
*       which describes the field.
*       If you don't have a data element use the
*       comment without a data element name
*   3.) The second line shows the fieldname of the
*       structure, the fieldname must consist of
*       a fieldname and optional the character '_' and
*       three numbers and the field length in brackets
*   4.) Each field must be type C.
*
*** Generated data section with specific formatting - DO NOT CHANGE  ***
**************************************************************************
*                          ALV                                           *
**************************************************************************

DATA: it_fieldcat     TYPE    slis_t_fieldcat_alv,
      wa_fieldcat     LIKE    LINE OF it_fieldcat,
      it_top_of_page  TYPE    slis_t_listheader,
      ls_layout       TYPE    slis_layout_alv,
      gt_events       TYPE    slis_t_event.
DATA: it_raw TYPE truxs_t_text_data.
DATA: BEGIN OF record,
* data element: BLDAT
        bldat_001(010),   "Invoice Date
* data element: BLART
        blart_002(002),   " Doc Type DR or DG if credit
* data element: BUKRS
        bukrs_003(004),   " Company Code
* data element: BUDAT
        budat_004(010),   "Posting Date
* data element: MONAT
        monat_005(002),   "period"
* data element: WAERS
        waers_006(005),   "Currency
* data element: XBLNR1
        xblnr_007(016),   "Invoice Number
* data element: BKTXT
        bktxt_008(025),   "PO number
* data element: SAEOBJART
        docid_009(010),
* data element: NEWBS
        newbs_010(002),   "posting Key
* data element: NEWKO
        newko_011(017),   "Customer number or GL account
* data element: WRBTR
        wrbtr_012(016),   "Amount
* data element: DZTERM
        zterm_013(004),
* data element: DZBD1T
        zbd1t_014(003),
* data element: DZFBDT
        zfbdt_015(010),
* data element: DZUONR
        zuonr_016(018),   "Invoice Number
* data element: SGTXT
        sgtxt_017(050),   " PO number
* data element: NEWBS
        newbs_018(002),
* data element: NEWKO
        newko_019(017),   "GL Account
* data element: WRBTR
        wrbtr_020(016),   "Amount
* data element: MWSKZ
        mwskz_021(002),   "Tax
* data element: DZUONR
        zuonr_022(018),   "Invoice Number
* data element: SGTXT
        sgtxt_023(050),   "PO Number
* data element: PRCTR
        prctr_024(010),   "Profit Center
* data element: WRBTR
        wrbtr_025(016),   " Amount
* data element: MWSKZ
        mwskz_026(002),   "Tax
* data element: DZUONR
        zuonr_027(018),   "Invoice Number
* data element: SGTXT
        sgtxt_028(050),   "PO Number
* data element: FMORE
        fmore_029(001),
* data element: PRCTR
        prctr_030(010),   "Pr Center
* data element: FWSTE
        fwste_01_031(016),
      END OF record.

DATA: BEGIN OF it_excel OCCURS 0,
* data element: XBLNR1
      xblnr_007(016),   "Invoice Number
* data element: BLDAT
      bldat_001(010),   "Invoice Date
* data element: WRBTR
      wrbtr_012(016),   "Amount
* data element: WRBTR
      wrbtr_025(016),   " Tax Amount
* data element: WRBTR
      wrbtr_020(016),   "Gross Amount
* data element: BLART
      blart_002(002),   " No of units
* data element: MONAT
      monat_005(002),   "No of units second test"
* data element: BKTXT
        bktxt_008(025),   "PO number
* data element: SGTXT
      sgtxt_017(050),   " PO number
* data element: BUKRS
      bukrs_003(004),   " Company Code
* data element: BUDAT
      budat_004(010),   "Posting Date
*        budat_004 TYPE string,   "Posting Date
* data element: WAERS
      waers_006(005),   "Currency*
* data element: NEWKO
      newko_011(017),   "Customer number or GL account
* data element : kunnr
      kunnr_019(010),   " customer
      mwskz(002),
     prctr(010),
      date(002),
      month(002),

** data element: BKTXT
*      bktxt_008(025),   "PO number
** data element: SAEOBJART
*      docid_009(010),
** data element: NEWBS
*      newbs_010(002),   "posting Key

*
** data element: DZTERM
*      zterm_013(004),
** data element: DZBD1T
*      zbd1t_014(003),
** data element: DZFBDT
*      zfbdt_015(010),
** data element: DZUONR
*      zuonr_016(018),   "Invoice Number
*
** data element: NEWBS
*      newbs_018(002),
** data element: NEWKO
*      newko_019(017),   "GL Account
*
** data element: MWSKZ
*      mwskz_021(002),   "Tax
** data element: DZUONR
*      zuonr_022(018),   "Invoice Number
** data element: SGTXT
*      sgtxt_023(050),   "PO Number
** data element: PRCTR
*      prctr_024(010),   "Profit Center
*
** data element: MWSKZ
*      mwskz_026(002),   "Tax
** data element: DZUONR
*      zuonr_027(018),   "Invoice Number
** data element: SGTXT
*      sgtxt_028(050),   "PO Number
** data element: FMORE
*      fmore_029(001),
** data element: PRCTR
*      prctr_030(010),   "Pr Center
** data element: FWSTE
*      fwste_01_031(016),
    END OF it_excel.
DATA : BEGIN OF it_bkpf OCCURS 0,
        belnr LIKE bkpf-belnr,
        budat LIKE bkpf-budat,
        bldat LIKE bkpf-bldat,
        xblnr LIKE bkpf-xblnr,
        bktxt LIKE bkpf-bktxt,
        total LIKE bseg-dmbtr,
        numdocs TYPE p DECIMALS 0,
        END OF it_bkpf,

        BEGIN OF it_bseg OCCURS 0,
          belnr LIKE bseg-belnr,
          dmbtr LIKE bseg-dmbtr,
          mwsts LIKE bseg-mwsts,
          pswsl LIKE bseg-pswsl,
          END OF it_bseg,

          BEGIN OF it_final OCCURS 0,
            belnr LIKE bkpf-belnr,
            budat LIKE bkpf-budat,
            bldat LIKE bkpf-bldat,
            xblnr LIKE bkpf-xblnr,
            bktxt LIKE bkpf-bktxt,
            dmbtr LIKE bseg-dmbtr,
            mwsts LIKE bseg-mwsts,
            pswsl LIKE bseg-pswsl,
            END OF it_final.

***** End generated data section ***
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pfile.
  PERFORM sub_browse_file. "Get file name

START-OF-SELECTION.
  PERFORM sub_data_load.  " Transfer excel into internal table.
  PERFORM sub_calc_excel.
  IF report = 'X'.
*    PERFORM data_selection.
*    PERFORM data_move.
*********************************GET ALV  DATA
    PERFORM alv_get_data.
*********************************ALV GRID DATA
    PERFORM alv_grid.
  ENDIF.

*if report = ''.
*  PERFORM write.
*  PERFORM open_dataset USING dataset.
  PERFORM open_group.

*  DO.
*    READ DATASET dataset INTO record.
  LOOP AT it_excel.
*   IF sy-subrc <> 0. EXIT. ENDIF.
    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_excel-bldat_001.
    PERFORM bdc_field       USING 'BKPF-BLART'
                                  'DR'." record-blart_002.
    PERFORM bdc_field       USING 'BKPF-BUKRS'
                                  it_excel-bukrs_003.
    PERFORM bdc_field       USING 'BKPF-BUDAT'
                                  it_excel-budat_004.
    PERFORM bdc_field       USING 'BKPF-MONAT'
                                '3'. "record-monat_005.
    PERFORM bdc_field       USING 'BKPF-WAERS'
                                  it_excel-waers_006.
    PERFORM bdc_field       USING 'BKPF-XBLNR'
                                  it_excel-xblnr_007.
    PERFORM bdc_field       USING 'BKPF-BKTXT'
                                  it_excel-bktxt_008.
    PERFORM bdc_field       USING 'FS006-DOCID'
                                 '*' ."record-docid_009.
    PERFORM bdc_field       USING 'RF05A-NEWBS'
                                '01'." record-newbs_010.
    PERFORM bdc_field       USING 'RF05A-NEWKO'
                                it_excel-kunnr_019  .
    PERFORM bdc_dynpro      USING 'SAPMF05A' '0301'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'RF05A-NEWKO'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM bdc_field       USING 'BSEG-WRBTR'
                                it_excel-wrbtr_020."  it_excel-wrbtr_012.
    PERFORM bdc_field       USING 'BSEG-ZTERM'
                                  'NT30' ."  record-zterm_013.
    PERFORM bdc_field       USING 'BSEG-ZBD1T'
                                  '30'."record-zbd1t_014.
    PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                  it_excel-bldat_001."record-zfbdt_015.
    PERFORM bdc_field       USING 'BSEG-ZUONR'
                                  it_excel-xblnr_007."record-zuonr_016.
    PERFORM bdc_field       USING 'BSEG-SGTXT'
                                  it_excel-sgtxt_017.
    PERFORM bdc_field       USING 'RF05A-NEWBS'
                                 '50'." record-newbs_018.
    PERFORM bdc_field       USING 'RF05A-NEWKO'
                               it_excel-newko_011."  record-newko_019."Gl account
    PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'BSEG-SGTXT'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM bdc_field       USING 'BSEG-WRBTR'
                                  it_excel-wrbtr_012."changes from 12 to 20
    PERFORM bdc_field       USING 'BSEG-MWSKZ'
                                 it_excel-mwskz." record-mwskz_021.
    PERFORM bdc_field       USING 'BSEG-ZUONR'
                                it_excel-xblnr_007."  record-zuonr_022.
    PERFORM bdc_field       USING 'BSEG-SGTXT'
                                 it_excel-sgtxt_017."  record-sgtxt_023.
    PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'COBL-PRCTR'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=ENTE'.
    PERFORM bdc_field       USING 'COBL-PRCTR'
                                it_excel-prctr ." record-prctr_024.
    PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'BSEG-WRBTR'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=STER'.
    PERFORM bdc_field       USING 'BSEG-WRBTR'
                                 it_excel-wrbtr_012." it_excel-wrbtr_025.
    PERFORM bdc_field       USING 'BSEG-MWSKZ'
                                  it_excel-mwskz.
    PERFORM bdc_field       USING 'BSEG-ZUONR'
                                 it_excel-xblnr_007." record-zuonr_027.
    PERFORM bdc_field       USING 'BSEG-SGTXT'
                                 it_excel-sgtxt_017." record-sgtxt_028.
    PERFORM bdc_field       USING 'DKACB-FMORE'
                                 'X' ."record-fmore_029.
    PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'COBL-PARGB'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=ENTE'.
    PERFORM bdc_field       USING 'COBL-PRCTR'
                                 it_excel-prctr." record-prctr_030.
    PERFORM bdc_dynpro      USING 'SAPLTAX1' '0300'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'BSET-FWSTE(01)'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=GOBU'.
    PERFORM bdc_field       USING 'BSET-FWSTE(01)'
                                it_excel-wrbtr_025."  record-fwste_01_031.
    PERFORM bdc_transaction USING 'FB01'.
    REFRESH:bdcdata,messtab.

  ENDLOOP.
  REFRESH:bdcdata.
**    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'
*                                  record-bldat_001.
*    PERFORM bdc_field       USING 'BKPF-BLART'
*                                  record-blart_002.
*    PERFORM bdc_field       USING 'BKPF-BUKRS'
*                                  record-bukrs_003.
*    PERFORM bdc_field       USING 'BKPF-BUDAT'
*                                  record-budat_004.
*    PERFORM bdc_field       USING 'BKPF-MONAT'
*                                  record-monat_005.
*    PERFORM bdc_field       USING 'BKPF-WAERS'
*                                  record-waers_006.
*    PERFORM bdc_field       USING 'BKPF-XBLNR'
*                                  record-xblnr_007.
*    PERFORM bdc_field       USING 'BKPF-BKTXT'
*                                  record-bktxt_008.
*    PERFORM bdc_field       USING 'FS006-DOCID'
*                                  record-docid_009.
*    PERFORM bdc_field       USING 'RF05A-NEWBS'
*                                  record-newbs_010.
*    PERFORM bdc_field       USING 'RF05A-NEWKO'
*                                  record-newko_011.
*    PERFORM bdc_dynpro      USING 'SAPMF05A' '0301'.
*    PERFORM bdc_field       USING 'BDC_CURSOR'
*                                  'RF05A-NEWKO'.
*    PERFORM bdc_field       USING 'BDC_OKCODE'
*                                  '/00'.
*    PERFORM bdc_field       USING 'BSEG-WRBTR'
*                                  record-wrbtr_012.
*    PERFORM bdc_field       USING 'BSEG-ZTERM'
*                                  record-zterm_013.
*    PERFORM bdc_field       USING 'BSEG-ZBD1T'
*                                  record-zbd1t_014.
*    PERFORM bdc_field       USING 'BSEG-ZFBDT'
*                                  record-zfbdt_015.
*    PERFORM bdc_field       USING 'BSEG-ZUONR'
*                                  record-zuonr_016.
*    PERFORM bdc_field       USING 'BSEG-SGTXT'
*                                  record-sgtxt_017.
*    PERFORM bdc_field       USING 'RF05A-NEWBS'
*                                  record-newbs_018.
*    PERFORM bdc_field       USING 'RF05A-NEWKO'
*                                  record-newko_019.
*    PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
*    PERFORM bdc_field       USING 'BDC_CURSOR'
*                                  'BSEG-SGTXT'.
*    PERFORM bdc_field       USING 'BDC_OKCODE'
*                                  '/00'.
*    PERFORM bdc_field       USING 'BSEG-WRBTR'
*                                  record-wrbtr_020.
*    PERFORM bdc_field       USING 'BSEG-MWSKZ'
*                                  record-mwskz_021.
*    PERFORM bdc_field       USING 'BSEG-ZUONR'
*                                  record-zuonr_022.
*    PERFORM bdc_field       USING 'BSEG-SGTXT'
*                                  record-sgtxt_023.
*    PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
*    PERFORM bdc_field       USING 'BDC_CURSOR'
*                                  'COBL-PRCTR'.
*    PERFORM bdc_field       USING 'BDC_OKCODE'
*                                  '=ENTE'.
*    PERFORM bdc_field       USING 'COBL-PRCTR'
*                                  record-prctr_024.
*    PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
*    PERFORM bdc_field       USING 'BDC_CURSOR'
*                                  'BSEG-WRBTR'.
*    PERFORM bdc_field       USING 'BDC_OKCODE'
*                                  '=STER'.
*    PERFORM bdc_field       USING 'BSEG-WRBTR'
*                                  record-wrbtr_025.
*    PERFORM bdc_field       USING 'BSEG-MWSKZ'
*                                  record-mwskz_026.
*    PERFORM bdc_field       USING 'BSEG-ZUONR'
*                                  record-zuonr_027.
*    PERFORM bdc_field       USING 'BSEG-SGTXT'
*                                  record-sgtxt_028.
*    PERFORM bdc_field       USING 'DKACB-FMORE'
*                                  record-fmore_029.
*    PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
*    PERFORM bdc_field       USING 'BDC_CURSOR'
*                                  'COBL-PARGB'.
*    PERFORM bdc_field       USING 'BDC_OKCODE'
*                                  '=ENTE'.
*    PERFORM bdc_field       USING 'COBL-PRCTR'
*                                  record-prctr_030.
*    PERFORM bdc_dynpro      USING 'SAPLTAX1' '0300'.
*    PERFORM bdc_field       USING 'BDC_CURSOR'
*                                  'BSET-FWSTE(01)'.
*    PERFORM bdc_field       USING 'BDC_OKCODE'
*                                  '=GOBU'.
*    PERFORM bdc_field       USING 'BSET-FWSTE(01)'
*                                  record-fwste_01_031.
*    PERFORM bdc_transaction USING 'FB01'.
*  ENDDO.
  PERFORM close_group.
*  PERFORM close_dataset USING dataset.
*endif.

*&---------------------------------------------------------------------*
*&      Form  sub_browse_file
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM sub_browse_file .

  CALL FUNCTION 'F4_FILENAME'
   EXPORTING
     program_name        = syst-cprog
     dynpro_number       = syst-dynnr
*   FIELD_NAME          = ' '
   IMPORTING
     file_name           = pfile.
ENDFORM.                    " sub_browse_file
*&---------------------------------------------------------------------*
*&      Form  sub_data_load
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM sub_data_load .
  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
*     I_FIELD_SEPERATOR          =
      i_line_header              = 'X'
      i_tab_raw_data             = it_raw
      i_filename                 = pfile
    TABLES
      i_tab_converted_data       = it_excel[]
*   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.


ENDFORM.                    " sub_data_load
**&---------------------------------------------------------------------*
**&      Form  data_selection
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
**  -->  p1        text
**  <--  p2        text
**----------------------------------------------------------------------*
*FORM data_selection .
*  SELECT * FROM bkpf
*      INTO CORRESPONDING FIELDS OF TABLE it_bkpf
*      WHERE budat = p_budat AND
*      bukrs = p_bukrs.
*
*  IF NOT it_bkpf[] IS INITIAL.
*    SELECT belnr dmbtr mwsts pswsl
*        FROM bseg INTO TABLE it_bseg
*        FOR ALL ENTRIES IN it_bkpf
*        WHERE belnr = it_bkpf-belnr AND
*        kunnr = p_kunnr AND
*        hkont = p_hkont AND
*        pswsl = p_waers.
*  ENDIF.
*ENDFORM.                    " data_selection
**&---------------------------------------------------------------------*
**&      Form  data_move
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
**  -->  p1        text
**  <--  p2        text
**----------------------------------------------------------------------*
*FORM data_move.
*  SORT : it_bseg BY belnr,
*          it_bkpf BY belnr.
*  LOOP AT it_bseg.
*    it_final-dmbtr = it_bseg-dmbtr.
*    it_final-belnr = it_bseg-belnr.
*    it_final-mwsts = it_bseg-mwsts.
*    it_final-pswsl = it_bseg-pswsl.
*    READ TABLE it_bkpf WITH KEY belnr = it_bseg-belnr BINARY SEARCH.
*    IF sy-subrc = 0.
*      it_final-budat = it_bkpf-budat.
*      it_final-bldat = it_bkpf-bldat.
*      it_final-xblnr = it_bkpf-xblnr.
*      it_final-bktxt = it_bkpf-bktxt.
*    ENDIF.
*    APPEND it_final.
*    CLEAR it_final.
*  ENDLOOP.
*ENDFORM.                    " data_move
*&---------------------------------------------------------------------*
*&      Form  alv_get_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM alv_get_data .
  CLEAR it_fieldcat.

***************** Document number
*  wa_fieldcat-col_pos    = '1'.                    " ALV O/P COL-1
  wa_fieldcat-fieldname  = 'XBLNR_007'.
  wa_fieldcat-seltext_m  = 'Document number'.
  wa_fieldcat-just       = 'L'.
  wa_fieldcat-no_zero(1) = 'X'.
  wa_fieldcat-outputlen  = 15.
  wa_fieldcat-tabname    = 'IT_EXCEL'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.

***************** Posting Date
*  wa_fieldcat-col_pos    = '2'.                    " ALV O/P COL-1
  wa_fieldcat-fieldname  = 'BUDAT_004'.
  wa_fieldcat-seltext_m  = 'Posting Date'.
  wa_fieldcat-just       = 'L'.
  wa_fieldcat-no_zero(1) = 'X'.
  wa_fieldcat-outputlen  = 20.
  wa_fieldcat-tabname    = 'IT_EXCEL'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.


******************** Document Date

*  wa_fieldcat-col_pos    = '3'.                     " ALV O/P COL-2
  wa_fieldcat-fieldname  = 'BLDAT_001'.
  wa_fieldcat-seltext_m  = 'Document Date'.
  wa_fieldcat-just       = 'L'.
  wa_fieldcat-tabname    = 'IT_EXCEL'.
  wa_fieldcat-outputlen  = 15.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.

********************* REFERENCE DOCUMENT
*
**  wa_fieldcat-col_pos    = '4'.                     " ALV O/P COL-2
*  wa_fieldcat-fieldname  = 'XBLNR'.
*  wa_fieldcat-seltext_m  = 'REFERENCE DOCUMENT'.
*  wa_fieldcat-just       = 'L'.
*  wa_fieldcat-tabname    = 'IT_EXCEL'.
**  wa_fieldcat-outputlen  = 15.
*  APPEND wa_fieldcat TO it_fieldcat.
*  CLEAR wa_fieldcat.



***************** DOCUMENT HEADER TEXT

*  wa_fieldcat-col_pos    = '5'.                     " ALV O/P COL-3
  wa_fieldcat-fieldname  = 'SGTXT_017'.
  wa_fieldcat-seltext_m  = 'DOCUMENT HEADER TEXT'.
  wa_fieldcat-just       = 'L'.
  wa_fieldcat-tabname    = 'IT_EXCEL'.
*  wa_fieldcat-outputlen  = 15.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.

*******************Invoice Net amount
*  wa_fieldcat-col_pos    = '6'.                     " ALV O/P COL-4
  wa_fieldcat-fieldname  = 'WRBTR_012'.
  wa_fieldcat-seltext_m  = 'Invoice Net amount'.
  wa_fieldcat-just       = 'L'.
  wa_fieldcat-tabname    = 'IT_EXCEL'.
*  wa_fieldcat-outputlen  = 15.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.

*********** Tax Amount

*  wa_fieldcat-col_pos    = '7'.                     " ALV O/P COL-5
  wa_fieldcat-fieldname  = 'WRBTR_025'.
  wa_fieldcat-seltext_m  = 'Tax Amount'.
  wa_fieldcat-just       = 'L'.
* wa_fieldcat-no_zero(1) = 'X'.
  wa_fieldcat-tabname    = 'IT_EXCEL'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.

*********** NEt Amount

*  wa_fieldcat-col_pos    = '7'.                     " ALV O/P COL-5
  wa_fieldcat-fieldname  = 'WRBTR_020'.
  wa_fieldcat-seltext_m  = 'Net Amount'.
  wa_fieldcat-just       = 'L'.
* wa_fieldcat-no_zero(1) = 'X'.
  wa_fieldcat-tabname    = 'IT_EXCEL'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.

*********** General ledger currency

*  wa_fieldcat-col_pos    = '7'.                     " ALV O/P COL-5
  wa_fieldcat-fieldname  = 'WAERS_006'.
  wa_fieldcat-seltext_l  = 'General ledger currency'.
  wa_fieldcat-just       = 'L'.
* wa_fieldcat-no_zero(1) = 'X'.
  wa_fieldcat-outputlen  = 25.
  wa_fieldcat-tabname    = 'IT_EXCEL'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.
ENDFORM.                    " alv_get_data
*&---------------------------------------------------------------------*
*&      Form  alv_grid
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM alv_grid .

*  PERFORM fill_list_header USING it_top_of_page[].
*  PERFORM event-build USING gt_events[].
  PERFORM fill_layout USING ls_layout.
MESSAGE 'Please press F3 to generate a session or call transaction method after getting report!' TYPE 'I'.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program = sy-repid
      is_layout          = ls_layout
      it_fieldcat        = it_fieldcat
      it_events          = gt_events[]
      i_save             = 'A'
    TABLES
      t_outtab           = it_excel
    EXCEPTIONS
      program_error      = 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.

ENDFORM.                    " alv_grid
*****************************************************************************
*                                     FORM FILL_LAYOUT                      *
*****************************************************************************
FORM fill_layout  USING    p_ls_layout  TYPE slis_layout_alv.


  p_ls_layout-zebra       = 'X'.
  p_ls_layout-cell_merge  = 'X'.


ENDFORM.                                                         "fill_layout
*&---------------------------------------------------------------------*
*&      Form  sub_calc_excel
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM sub_calc_excel .
      data: idate TYPE sy-datum,
          tdat8 type string.
  LOOP AT it_excel.
    CONCATENATE  it_excel-blart_002 '/' it_excel-monat_005 '/' it_excel-bktxt_008 INTO
        it_excel-sgtxt_017.
    it_excel-bukrs_003 = p_bukrs.
*    it_excel-budat_004 = p_budat.
    it_excel-waers_006 = p_waers.
    it_excel-newko_011 = p_hkont.
    it_excel-kunnr_019 = p_kunnr.
    it_excel-mwskz     = p_mwskz.
    it_excel-prctr     = p_prctr.
    idate              = p_budat.
    CALL FUNCTION 'DATUMSAUFBEREITUNG'
     EXPORTING
*       FLAGM                 = ' '
*       FLAGW                 = ' '
       IDATE                 = idate
*       IMONT                 = ' '
*       IWEEK                 = ' '
     IMPORTING
*       MDAT4                 =
*       MDAT6                 =
*       TDAT4                 =
*       TDAT6                 =
        TDAT8                 = tdat8
*       WDAT4                 =
*       WDAT6                 =
*     EXCEPTIONS
*       DATFM_UNGUELTIG       = 1
*       DATUM_UNGUELTIG       = 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.
      it_excel-budat_004 = tdat8.
*    CONCATENATE it_excel-budat_004+4(2) '/' it_excel-budat_004+6(2) '/'  it_excel-budat_004+0(4)
*                INTO it_excel-budat_004.
*    SPLIT it_excel-bldat_001 AT '/' INTO it_excel-month it_excel-date.
*    CONCATENATE it_excel-date '.' it_excel-month '.' it_excel-bldat_001+6(4) INTO it_excel-bldat_001.
    MODIFY it_excel.
    CLEAR it_excel.
  ENDLOOP.
ENDFORM.                    " sub_calc_excel
*&---------------------------------------------------------------------*
*&      Form  write
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
*form write .
*OPEN DATASET dataset FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
*data: wa_excel like line of it_excel.
*loop at it_excel into wa_excel.
*TRANSFER wa_excel to dataset.
*endloop.
*CLOSE DATASET dataset.
*endform.                    " write

Amit.

Read only

Former Member
0 Likes
788

Hi

Good

The long text is to be filled using the function module SAVE_TEXT giving the appropriate object Id, object name etc.

Thanks

mrutyun^