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

Error in bdc report while uploading data in fb01 t-code (for posting keys 35,40)

former_member612655
Participant
0 Likes
2,010

Hi,

I developed a bdc report for uploading details from excel file to sap system in fb01 t-code(for posting keys 35,40) .But after developing a bdc report I am getting an error like "Reconciliation account 12011000 or short key 00 not permitted account" when i am getting this error i changed the GL account number in recording this time i am getting "amount is zero - line item will be ignored".Below code which was i developed can you please check that code and tell me the corrections in that code . If it is possible can you please post the recording for that .

report ZLTT_DATA1 .
type-POOLs: truxs.
tables : bseg.
data  : begin of ty_final,
          bldat(16) type c," type bkpf-bldat,
          blart type bkpf-blart,
          bukrs type bkpf-bukrs,
          budat(20) type c," type bkpf-budat,
          waers type bkpf-waers,
          xblnr type bkpf-xblnr,
          bktxt type bkpf-bktxt,
          bschl(20)," type bkf-bldat,
          hkont(20)," type bkf-bldat,
          wrbtr type bseg-wrbtr,
          bupla type bseg-bupla,
          zuonr type bseg-zuonr,
          sgtxt type bseg-sgtxt,
          prctr type cobl-prctr,
          kostl type cobl-prctr,
          valut type bseg-valut,
 end of ty_final.
 data : begin of ty_error ,
          bldat(16) type c,", type bkpf-bldat,
          blart type bkpf-blart,
          bukrs type bkpf-bukrs,
          budat(20) type c," type bkpf-budat,
          waers type bkpf-waers,
          xblnr type bkpf-xblnr,
          bktxt type bkpf-bktxt,
          bschl(20)," type bkf-bldat,
          hkont(20)," type bkf-bldat,
          wrbtr type bseg-wrbtr,
          bupla type bseg-bupla,
          zuonr type bseg-zuonr,
          sgtxt type bseg-sgtxt,
          prctr type cobl-prctr,
          kostl type cobl-prctr,
          valut type bseg-valut,
          err_msg(73) TYPE c,
          STRING(1000),
      end of ty_error.

*declaration to upload excel file
DATA it_raw TYPE truxs_t_text_data.
DATA: w_textout LIKE t100-text.

DATA : WA_FINAL like TY_FINAL,
      it_final like TABLE OF ty_final WITH HEADER LINE.
DATA bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: it_error like TABLE OF ty_error WITH HEADER LINE.

DATA:IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
     WA_FCAT TYPE SLIS_FIELDCAT_ALV,
     WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
data : it_event type slis_t_event,
      wa_event like line of it_event.
wa_event-name = 'user_command'.
wa_event-form = 'uc'.
append wa_event to it_event.
DATA: BEGIN OF messtab OCCURS 0.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF messtab.

 data : budat(20) type c,
         blart(16) type c,
        w_amount(16) type c.
write it_final-wrbtr to w_amount.
    CONDENSE w_amount.
  write sy-datum to blart.
  write sy-datum to budat.

SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE title.
PARAMETERS: p_file TYPE rlgrap-filename .
SELECTION-SCREEN END OF BLOCK block2.

INITIALIZATION.
MOVE 'FILE NAME' TO title.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.

***********************************************************************
* S T A R T O F S E L E C T I O N *
***********************************************************************

*START-OF-SELECTION.

CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP' 
EXPORTING
* I_FIELD_SEPERATOR = 'X'
* I_LINE_HEADER = 'X'
i_tab_raw_data = it_raw
i_filename = p_file
TABLES
i_tab_converted_data = it_final
 EXCEPTIONS
 CONVERSION_FAILED = 1
 OTHERS = 2.

start-of-selection.
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.
perform bdc_field       using 'BKPF-BLART'
                              it_final-blart.
perform bdc_field       using 'BKPF-BUKRS'
                              it_final-bukrs.
perform bdc_field       using 'BKPF-BUDAT'
                              it_final-budat.
perform bdc_field       using 'BKPF-WAERS'
                              it_final-waers.
perform bdc_field       using 'BKPF-XBLNR'
                              it_final-xblnr.
perform bdc_field       using 'BKPF-BKTXT'
                              it_final-bktxt.
perform bdc_field       using 'RF05A-NEWBS'
                              it_final-bschl.
perform bdc_field       using 'RF05A-NEWKO'
                              it_final-hkont.
perform bdc_dynpro      using 'SAPMF05A' '0302'.
perform bdc_field       using 'BDC_CURSOR'
                              'BSEG-SGTXT'.
perform bdc_field       using 'BDC_OKCODE'
                              '=AB'.
*perform bdc_field       using 'BSEG-HKONT'
*                              it_final-hkont.
perform bdc_field       using 'BSEG-WRBTR'
                              w_amount.
perform bdc_field       using 'BSEG-BUPLA'
                              it_final-bupla.
perform bdc_field       using 'BSEG-ZUONR'
                              it_final-zuonr.
perform bdc_field       using 'BSEG-SGTXT'
                              it_final-sgtxt.
perform bdc_dynpro      using 'SAPMF05A' '0700'.
perform bdc_field       using 'BDC_CURSOR'
                              'RF05A-NEWKO'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'BKPF-XBLNR'
                              it_final-xblnr.
perform bdc_field       using 'BKPF-BKTXT'
                              it_final-bktxt.
perform bdc_field       using 'RF05A-NEWBS'
                              it_final-bschl.
perform bdc_field       using 'RF05A-NEWKO'
                              it_final-hkont.
perform bdc_dynpro      using 'SAPMF05A' '0300'.
perform bdc_field       using 'BDC_CURSOR'
                              'BSEG-SGTXT'.
perform bdc_field       using 'BDC_OKCODE'
                              '=AB'.
perform bdc_field       using 'BSEG-WRBTR'
                              w_amount.
perform bdc_field       using 'BSEG-BUPLA'
                              it_final-bupla.
perform bdc_field       using 'BSEG-ZUONR'
                              it_final-zuonr.
perform bdc_field       using 'BSEG-SGTXT'
                              it_final-sgtxt.
perform bdc_field       using 'DKACB-FMORE'
                              'X'.
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-KOSTL'
                              it_final-kostl.
perform bdc_field       using 'COBL-PRCTR'
                              it_final-prctr.
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.
perform bdc_field       using 'BKPF-BKTXT'
                              it_final-bktxt.
*perform bdc_transaction using 'FB01'.

*perform bdc_transaction using 'FB01'.
CALL TRANSACTION 'FB01' USING bdcdata MODE 'A' UPDATE 'S'
MESSAGES INTO messtab.
*form display-errors
*Check if update was succesful
IF sy-subrc NE 0.
*Retrieve error messages displayed during BDC update
LOOP AT messtab WHERE msgtyp = 'E'.
*Builds actual message based on info returned from Call transaction
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = messtab-msgid
msgnr = messtab-msgnr
msgv1 = messtab-msgv1
msgv2 = messtab-msgv2
msgv3 = messtab-msgv3
msgv4 = messtab-msgv4
IMPORTING
message_text_output = w_textout.
ENDLOOP.
it_error-bschl = it_final-bschl.
it_error-bldat = it_final-bldat.
it_error-budat = it_final-budat.
it_error-waers = it_final-waers.
it_error-xblnr = it_final-xblnr.
it_error-bktxt = it_final-bktxt.
it_error-blart = it_final-blart.
it_error-bukrs = it_final-bukrs.
it_error-hkont = it_final-hkont.
*it_error-shkzg = it_final-shkzg.
it_error-wrbtr = it_final-wrbtr.
it_error-zuonr = it_final-zuonr.
it_error-kostl = it_final-kostl.
it_error-prctr = it_final-prctr.
it_error-sgtxt = it_final-sgtxt.
it_error-bupla = it_final-bupla.
it_error-valut = it_final-valut.

it_error-err_msg = w_textout.
APPEND IT_ERROR.
CLEAR it_error.
ENDIF.
CLEAR: bdcdata.
REFRESH: bdcdata.
ENDLOOP.
*endif.
*endloop.
 REFRESH:IT_FCAT[].
  PERFORM FCAT USING :
                      'BLDAT' 'doc date',
                      'BLART' 'doc type',
                      'BUKRS' 'company code',
                      'BUDAT' 'posting date',
                      'WAERS' 'currency',
                      'XBLNR' 'refrence',
                      'BKTXT' 'doc header',
                      'BSCHL' 'posting key',
                      'HKONT' 'gl account',
                      'WRBTR' 'amount',
                      'BUPLA' 'business place',
                      'ZUONR' 'assignment',
*                      'wrbtr' 'amount',
                      'SGTXT' 'text',
                      'KOSTL' 'cost center',
                      'PRCTR' 'profit center'.

*ENDFORM.                    " BUILD_FCAT
*FORM DISPLAY_OUTPUT .
  WA_LAYOUT-ZEBRA = 'X'.
  WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
    IS_LAYOUT                = WA_LAYOUT
    IT_FIELDCAT              = IT_FCAT
 TABLES
     T_OUTTAB                 = IT_ERROR
   .
 form uv USING a like sy-ucomm b type slis_selfield.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = P_FILE
FILETYPE = 'asc'
WRITE_FIELD_SEPARATOR = 'X'


TABLES
DATA_TAB = IT_ERROR
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
endform.
FORM FCAT  USING  FIELD TEXT.

   WA_FCAT-FIELDNAME = FIELD.
   WA_FCAT-SELTEXT_M = TEXT.

  APPEND WA_FCAT TO IT_FCAT.
  CLEAR WA_FCAT.
ENDFORM.

FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "bdc_dynpro

*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
* if fval <> nodata.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
* endif.
ENDFORM. "bdc_field


Hi,

I developed a bdc report for uploading details from excel file to sap system in fb01 t-code(for posting keys 35,40) .But after developing a bdc report I am getting an error like "Reconciliation account 12011000 or short key 00 not permitted account" when i am getting this error i changed the GL account number in recording this time i am getting "amount is zero - line item will be ignored".Below code which was i developed can you please check that code and tell me the corrections in that code . If it is possible can you please post the recording for that .

report ZLTT_DATA1 .
type-POOLs: truxs.
tables : bseg.
data  : begin of ty_final,
          bldat(16) type c," type bkpf-bldat,
          blart type bkpf-blart,
          bukrs type bkpf-bukrs,
          budat(20) type c," type bkpf-budat,
          waers type bkpf-waers,
          xblnr type bkpf-xblnr,
          bktxt type bkpf-bktxt,
          bschl(20)," type bkf-bldat,
          hkont(20)," type bkf-bldat,
          wrbtr type bseg-wrbtr,
          bupla type bseg-bupla,
          zuonr type bseg-zuonr,
          sgtxt type bseg-sgtxt,
          prctr type cobl-prctr,
          kostl type cobl-prctr,
          valut type bseg-valut,
 end of ty_final.
 data : begin of ty_error ,
          bldat(16) type c,", type bkpf-bldat,
          blart type bkpf-blart,
          bukrs type bkpf-bukrs,
          budat(20) type c," type bkpf-budat,
          waers type bkpf-waers,
          xblnr type bkpf-xblnr,
          bktxt type bkpf-bktxt,
          bschl(20)," type bkf-bldat,
          hkont(20)," type bkf-bldat,
          wrbtr type bseg-wrbtr,
          bupla type bseg-bupla,
          zuonr type bseg-zuonr,
          sgtxt type bseg-sgtxt,
          prctr type cobl-prctr,
          kostl type cobl-prctr,
          valut type bseg-valut,
          err_msg(73) TYPE c,
          STRING(1000),
      end of ty_error.

*declaration to upload excel file
DATA it_raw TYPE truxs_t_text_data.
DATA: w_textout LIKE t100-text.

DATA : WA_FINAL like TY_FINAL,
      it_final like TABLE OF ty_final WITH HEADER LINE.
DATA bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: it_error like TABLE OF ty_error WITH HEADER LINE.

DATA:IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
     WA_FCAT TYPE SLIS_FIELDCAT_ALV,
     WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
data : it_event type slis_t_event,
      wa_event like line of it_event.
wa_event-name = 'user_command'.
wa_event-form = 'uc'.
append wa_event to it_event.
DATA: BEGIN OF messtab OCCURS 0.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF messtab.

 data : budat(20) type c,
         blart(16) type c,
        w_amount(16) type c.
write it_final-wrbtr to w_amount.
    CONDENSE w_amount.
  write sy-datum to blart.
  write sy-datum to budat.

SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE title.
PARAMETERS: p_file TYPE rlgrap-filename .
SELECTION-SCREEN END OF BLOCK block2.

INITIALIZATION.
MOVE 'FILE NAME' TO title.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.

***********************************************************************
* S T A R T O F S E L E C T I O N *
***********************************************************************

*START-OF-SELECTION.

CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP' 
EXPORTING
* I_FIELD_SEPERATOR = 'X'
* I_LINE_HEADER = 'X'
i_tab_raw_data = it_raw
i_filename = p_file
TABLES
i_tab_converted_data = it_final
 EXCEPTIONS
 CONVERSION_FAILED = 1
 OTHERS = 2.

start-of-selection.
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.
perform bdc_field       using 'BKPF-BLART'
                              it_final-blart.
perform bdc_field       using 'BKPF-BUKRS'
                              it_final-bukrs.
perform bdc_field       using 'BKPF-BUDAT'
                              it_final-budat.
perform bdc_field       using 'BKPF-WAERS'
                              it_final-waers.
perform bdc_field       using 'BKPF-XBLNR'
                              it_final-xblnr.
perform bdc_field       using 'BKPF-BKTXT'
                              it_final-bktxt.
perform bdc_field       using 'RF05A-NEWBS'
                              it_final-bschl.
perform bdc_field       using 'RF05A-NEWKO'
                              it_final-hkont.
perform bdc_dynpro      using 'SAPMF05A' '0302'.
perform bdc_field       using 'BDC_CURSOR'
                              'BSEG-SGTXT'.
perform bdc_field       using 'BDC_OKCODE'
                              '=AB'.
*perform bdc_field       using 'BSEG-HKONT'
*                              it_final-hkont.
perform bdc_field       using 'BSEG-WRBTR'
                              w_amount.
perform bdc_field       using 'BSEG-BUPLA'
                              it_final-bupla.
perform bdc_field       using 'BSEG-ZUONR'
                              it_final-zuonr.
perform bdc_field       using 'BSEG-SGTXT'
                              it_final-sgtxt.
perform bdc_dynpro      using 'SAPMF05A' '0700'.
perform bdc_field       using 'BDC_CURSOR'
                              'RF05A-NEWKO'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'BKPF-XBLNR'
                              it_final-xblnr.
perform bdc_field       using 'BKPF-BKTXT'
                              it_final-bktxt.
perform bdc_field       using 'RF05A-NEWBS'
                              it_final-bschl.
perform bdc_field       using 'RF05A-NEWKO'
                              it_final-hkont.
perform bdc_dynpro      using 'SAPMF05A' '0300'.
perform bdc_field       using 'BDC_CURSOR'
                              'BSEG-SGTXT'.
perform bdc_field       using 'BDC_OKCODE'
                              '=AB'.
perform bdc_field       using 'BSEG-WRBTR'
                              w_amount.
perform bdc_field       using 'BSEG-BUPLA'
                              it_final-bupla.
perform bdc_field       using 'BSEG-ZUONR'
                              it_final-zuonr.
perform bdc_field       using 'BSEG-SGTXT'
                              it_final-sgtxt.
perform bdc_field       using 'DKACB-FMORE'
                              'X'.
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-KOSTL'
                              it_final-kostl.
perform bdc_field       using 'COBL-PRCTR'
                              it_final-prctr.
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.
perform bdc_field       using 'BKPF-BKTXT'
                              it_final-bktxt.
*perform bdc_transaction using 'FB01'.

*perform bdc_transaction using 'FB01'.
CALL TRANSACTION 'FB01' USING bdcdata MODE 'A' UPDATE 'S'
MESSAGES INTO messtab.
*form display-errors
*Check if update was succesful
IF sy-subrc NE 0.
*Retrieve error messages displayed during BDC update
LOOP AT messtab WHERE msgtyp = 'E'.
*Builds actual message based on info returned from Call transaction
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = messtab-msgid
msgnr = messtab-msgnr
msgv1 = messtab-msgv1
msgv2 = messtab-msgv2
msgv3 = messtab-msgv3
msgv4 = messtab-msgv4
IMPORTING
message_text_output = w_textout.
ENDLOOP.
it_error-bschl = it_final-bschl.
it_error-bldat = it_final-bldat.
it_error-budat = it_final-budat.
it_error-waers = it_final-waers.
it_error-xblnr = it_final-xblnr.
it_error-bktxt = it_final-bktxt.
it_error-blart = it_final-blart.
it_error-bukrs = it_final-bukrs.
it_error-hkont = it_final-hkont.
*it_error-shkzg = it_final-shkzg.
it_error-wrbtr = it_final-wrbtr.
it_error-zuonr = it_final-zuonr.
it_error-kostl = it_final-kostl.
it_error-prctr = it_final-prctr.
it_error-sgtxt = it_final-sgtxt.
it_error-bupla = it_final-bupla.
it_error-valut = it_final-valut.

it_error-err_msg = w_textout.
APPEND IT_ERROR.
CLEAR it_error.
ENDIF.
CLEAR: bdcdata.
REFRESH: bdcdata.
ENDLOOP.
*endif.
*endloop.
 REFRESH:IT_FCAT[].
  PERFORM FCAT USING :
                      'BLDAT' 'doc date',
                      'BLART' 'doc type',
                      'BUKRS' 'company code',
                      'BUDAT' 'posting date',
                      'WAERS' 'currency',
                      'XBLNR' 'refrence',
                      'BKTXT' 'doc header',
                      'BSCHL' 'posting key',
                      'HKONT' 'gl account',
                      'WRBTR' 'amount',
                      'BUPLA' 'business place',
                      'ZUONR' 'assignment',
*                      'wrbtr' 'amount',
                      'SGTXT' 'text',
                      'KOSTL' 'cost center',
                      'PRCTR' 'profit center'.

*ENDFORM.                    " BUILD_FCAT
*FORM DISPLAY_OUTPUT .
  WA_LAYOUT-ZEBRA = 'X'.
  WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
    IS_LAYOUT                = WA_LAYOUT
    IT_FIELDCAT              = IT_FCAT
 TABLES
     T_OUTTAB                 = IT_ERROR
   .
 form uv USING a like sy-ucomm b type slis_selfield.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = P_FILE
FILETYPE = 'asc'
WRITE_FIELD_SEPARATOR = 'X'


TABLES
DATA_TAB = IT_ERROR
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
endform.
FORM FCAT  USING  FIELD TEXT.

   WA_FCAT-FIELDNAME = FIELD.
   WA_FCAT-SELTEXT_M = TEXT.

  APPEND WA_FCAT TO IT_FCAT.
  CLEAR WA_FCAT.
ENDFORM.

FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "bdc_dynpro

*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
* if fval <> nodata.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
* endif.
ENDFORM. "bdc_field


7 REPLIES 7
Read only

venkateswaran_k
Active Contributor
0 Likes
1,711

Dear Bhavani Amra

The statements

write it_final-wrbtr to w_amount.

CONDENSE w_amount.

should be inside the loop it_final.

Read only

0 Likes
1,711

Thank You Sir , its worked.

Read only

0 Likes
1,711

Great,

Please mark the answer as correct and close. 🙂

Read only

0 Likes
1,711

I have done a recording in fb01 t-code for two line items 35 and 40. when i am populating the data through bdc .if the line item is 35 only that related data wanted to be entered and other line item 40 details should be ignored same as 40 vice versa . I am thinking for writing if condition for that .Is it correct or any other alternatives for that sir

Read only

FredericGirod
Active Contributor
0 Likes
1,711

There are several format for amount (and other data type).

Amount in SAP is 999999.99 amount in output could be 999.999,99 999,999.99 ... it will depend of the user parameters (Check transaction SU3).

In batch-input has you simulate the user action, you have to respect the output format of the field. You could used WRITE as venkateswaran.k said. It will work only if the user that create the batch input has the same amount format as the user that will run it.

Read only

RaymondGiuseppi
Active Contributor
1,711

When writing the amount to fill batch input, so using external format, I suggest you use the CURRENCY option.

  • You could also use a LEFT-JUSTIFIED option to prevent any numerical field to be left in the right part of the field.
" In the LOOP AT it_final
WRITE it_final-wrbtr TO w_amount CURRENCY it_final-waers LEFT-JUSTIFIED.

" (opt) Rewriting the bdc_field form in case many other fields are lost...
FORM bdc_field USING fnam fval.
  CLEAR bdcdata.
  bdcdata-fnam = fnam.
  WRITE fval TO bdcdata-fval LEFT-JUSTIFIED.
  APPEND bdcdata.
ENDFORM. "bdc_field

Also the Posting Key 35 expect a vendor number and not the reconciliation account number.

Read only

Sandra_Rossi
Active Contributor
0 Likes
1,711

Are you sure you need a custom program. Can't you use a BAPI to create the accounting document, or the standard batch input program RFBIBL00?