‎2016 Jun 29 1:56 PM
Hi Abapers,
This is my present code. Can someone tell where i am going wrong as it is not updating the records from the excel file.
***INCLUDE BDCRECX1.
* for programs doing a data transfer by creating a batch-input session
* and
* for programs doing a data transfer by CALL TRANSACTION USING
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS SESSION RADIOBUTTON GROUP CTU. "create session
SELECTION-SCREEN COMMENT 3(20) TEXT-S07 FOR FIELD SESSION.
selection-screen position 45.
PARAMETERS CTU RADIOBUTTON GROUP CTU. "call transaction
SELECTION-SCREEN COMMENT 48(20) TEXT-S08 FOR FIELD CTU.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) TEXT-S01 FOR FIELD GROUP.
selection-screen position 25.
PARAMETERS GROUP(12). "group name of session
SELECTION-SCREEN COMMENT 48(20) TEXT-S05 FOR FIELD CTUMODE.
selection-screen position 70.
PARAMETERS CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.
"A: show all dynpros
"E: show dynpro on error only
"N: do not display dynpro
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) TEXT-S02 FOR FIELD USER.
selection-screen position 25.
PARAMETERS: USER(12) DEFAULT SY-UNAME. "user for session in batch
SELECTION-SCREEN COMMENT 48(20) TEXT-S06 FOR FIELD CUPDATE.
selection-screen position 70.
PARAMETERS CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L'.
"S: synchronously
"A: asynchronously
"L: local
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) TEXT-S03 FOR FIELD KEEP.
selection-screen position 25.
PARAMETERS: KEEP AS CHECKBOX. "' ' = delete session if finished
"'X' = keep session if finished
SELECTION-SCREEN COMMENT 48(20) TEXT-S09 FOR FIELD E_GROUP.
selection-screen position 70.
parameters E_GROUP(12). "group name of error-session
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) TEXT-S04 FOR FIELD HOLDDATE.
selection-screen position 25.
PARAMETERS: HOLDDATE LIKE SY-DATUM.
SELECTION-SCREEN COMMENT 51(17) TEXT-S02 FOR FIELD E_USER.
selection-screen position 70.
PARAMETERS: E_USER(12) DEFAULT SY-UNAME. "user for error-session
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 51(17) TEXT-S03 FOR FIELD E_KEEP.
selection-screen position 70.
PARAMETERS: E_KEEP AS CHECKBOX. "' ' = delete session if finished
"'X' = keep session if finished
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 51(17) TEXT-S04 FOR FIELD E_HDATE.
selection-screen position 70.
PARAMETERS: E_HDATE LIKE SY-DATUM.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(33) TEXT-S10 FOR FIELD NODATA.
PARAMETERS: NODATA DEFAULT '/' LOWER CASE. "nodata
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(33) TEXT-S11 FOR FIELD SMALLLOG.
PARAMETERS: SMALLLOG as checkbox. "' ' = log all transactions
"'X' = no transaction logging
SELECTION-SCREEN END OF LINE.
*----------------------------------------------------------------------*
* data definition
*----------------------------------------------------------------------*
* Batchinputdata of single transaction
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
* messages of call transaction
DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
* error session opened (' ' or 'X')
DATA: E_GROUP_OPENED.
* message texts
TABLES: T100.
*----------------------------------------------------------------------*
* at selection screen *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
* group and user must be filled for create session
IF SESSION = 'X' AND
GROUP = SPACE OR USER = SPACE.
MESSAGE E613(MS).
ENDIF.
*----------------------------------------------------------------------*
* open dataset *
*----------------------------------------------------------------------*
FORM OPEN_DATASET USING P_DATASET.
OPEN DATASET P_DATASET
FOR INPUT IN TEXT MODE
ENCODING DEFAULT.
IF SY-SUBRC <> 0.
WRITE: / TEXT-E00, SY-SUBRC.
STOP.
ENDIF.
ENDFORM.
*----------------------------------------------------------------------*
* close dataset *
*----------------------------------------------------------------------*
FORM CLOSE_DATASET USING P_DATASET.
CLOSE DATASET P_DATASET.
ENDFORM.
*----------------------------------------------------------------------*
* create batchinput session *
* (not for call transaction using...) *
*----------------------------------------------------------------------*
FORM OPEN_GROUP.
IF SESSION = 'X'.
SKIP.
WRITE: /(20) 'Create group'(I01), GROUP.
SKIP.
* open batchinput group
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING CLIENT = SY-MANDT
GROUP = GROUP
USER = USER
KEEP = KEEP
HOLDDATE = HOLDDATE.
WRITE: /(30) 'BDC_OPEN_GROUP'(I02),
(12) 'returncode:'(I05),
SY-SUBRC.
ENDIF.
ENDFORM.
*----------------------------------------------------------------------*
* end batchinput session *
* (call transaction using...: error session) *
*----------------------------------------------------------------------*
FORM CLOSE_GROUP.
IF SESSION = 'X'.
* close batchinput group
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
(12) 'returncode:'(I05),
SY-SUBRC.
ELSE.
IF E_GROUP_OPENED = 'X'.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /.
WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
E_GROUP_OPENED = ' '.
ENDIF.
ENDIF.
ENDFORM.
*----------------------------------------------------------------------*
* Start new transaction according to parameters *
*----------------------------------------------------------------------*
FORM BDC_TRANSACTION USING TCODE.
DATA: L_MSTRING(480).
DATA: L_SUBRC LIKE SY-SUBRC.
* batch input session
IF SESSION = 'X'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING TCODE = TCODE
TABLES DYNPROTAB = BDCDATA.
IF SMALLLOG <> 'X'.
WRITE: / 'BDC_INSERT'(I03),
TCODE,
'returncode:'(I05),
SY-SUBRC,
'RECORD:',
SY-INDEX.
ENDIF.
* call transaction using
ELSE.
REFRESH MESSTAB.
CALL TRANSACTION TCODE USING BDCDATA
MODE CTUMODE
UPDATE CUPDATE
MESSAGES INTO MESSTAB.
L_SUBRC = SY-SUBRC.
IF SMALLLOG <> 'X'.
WRITE: / 'CALL_TRANSACTION',
TCODE,
'returncode:'(I05),
L_SUBRC,
'RECORD:',
SY-INDEX.
LOOP AT MESSTAB.
MESSAGE ID MESSTAB-MSGID
TYPE MESSTAB-MSGTYP
NUMBER MESSTAB-MSGNR
INTO L_MSTRING
WITH MESSTAB-MSGV1
MESSTAB-MSGV2
MESSTAB-MSGV3
MESSTAB-MSGV4.
WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).
ENDLOOP.
SKIP.
ENDIF.
** Erzeugen fehlermappe ************************************************
IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
IF E_GROUP_OPENED = ' '.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING CLIENT = SY-MANDT
GROUP = E_GROUP
USER = E_USER
KEEP = E_KEEP
HOLDDATE = E_HDATE.
E_GROUP_OPENED = 'X'.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING TCODE = TCODE
TABLES DYNPROTAB = BDCDATA.
ENDIF.
ENDIF.
REFRESH BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> NODATA.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Report ZFI_BDC_F02_SPL_INDICATORTABLE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
INCLUDE BDCRECX1.
PARAMETER : FILE LIKE RLGRAP-FILENAME DEFAULT 'C:\'.
DATA : FILE1 TYPE STRING. "+
DATA: BEGIN OF RECORD OCCURS 0,
** Header Data
BUKRS TYPE T001-BUKRS, "Comp code
BLDAT(10) TYPE c, "Doc Date
BLART LIKE BKPF-BLART, "Doc Type
BUDAT(10) TYPE c, "Posting Date
MONAT LIKE BKPF-MONAT, "Period
WAERS LIKE BKPF-WAERS, "Currency
KURSF(6) TYPE c, " LIKE BKPF-KURSF, "Rate
XBLNR LIKE BKPF-XBLNR, "Reference
HBKTXT LIKE BKPF-BKTXT, "Header Text
** Item Data
NEWBS LIKE RF05A-NEWBS, "Posting Key
NEWKO LIKE RF05A-NEWKO, "GL Account
WRBTR(13) TYPE c, " LIKE BSEG-WRBTR, "Amount
NEWUM LIKE RF05A-NEWUM, "Special G/L
BUPLA LIKE BSEG-BUPLA , "BUSINESS PLACE : ETRL
SECCO LIKE BSEG-SECCO , "SECTION CODE : ETRL
*ED6K902494 samarendra 05.05.2009
GSBER LIKE BSEG-GSBER,
*ED6K902494 samarendra 05.05.2009
PRCTR LIKE COBL-PRCTR , "PROFIT CENTER
KOSTL LIKE COBL-KOSTL, "Cost Center
PS_POSID LIKE COBL-PS_POSID, "WBS Element
NPLNR LIKE COBL-NPLNR, "Network no
VORNR LIKE COBL-VORNR, "Activity
ISGTXT LIKE BSEG-SGTXT, "Item Text
ZUONR LIKE BSEG-ZUONR, "Assignment
ZFBDT(10) TYPE c, " LIKE BSEG-ZFBDT, "due date
PERNR(8) TYPE C , " personnel no
SRNO TYPE I, "Serial No
DMBTR(13) TYPE c, " LIKE BSEG-DMBTR , " Local Currency
HKONT LIKE BSEG-HKONT, " GL Account
DMBE2(13) TYPE c, " LIKE BSEG-DMBE2, "Index Currency Amount
END OF RECORD.
DATA: WA LIKE RECORD,
WA_ITEM LIKE RECORD.
DATA : IT_EXCEL LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
DATA : V_FILE TYPE RLGRAP-FILENAME.
DATA: IT_ZF02T LIKE ZF02T OCCURS 0 WITH HEADER LINE,
IT_TBSL LIKE TBSL OCCURS 0 WITH HEADER LINE,
WA_TBSL LIKE IT_TBSL.
*---------------------------------------------*
* AT SELECTION-SCREEN ON VALUE-REQUEST
*---------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
IMPORTING
FILE_NAME = FILE
EXCEPTIONS
OTHERS = 1.
*------------------------------------------*
* Initialization
*------------------------------------------*
INITIALIZATION.
CLEAR: NODATA.
*samarendra 08.05.2009
CTUMODE = 'A'.
CTU = 'X'.
*samarendra 08.05.2009
*------------------------------------------*
* START-OF-SELECTION
*------------------------------------------*
START-OF-SELECTION.
SELECT * FROM ZF02T INTO TABLE IT_ZF02T.
*ED6K902494 samarendra 07.05.2009
SELECT * FROM TBSL INTO TABLE IT_TBSL.
*ED6K902494 samarendra 07.05.2009
CLEAR : V_FILE.
V_FILE = FILE.
REFRESH : IT_EXCEL.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = V_FILE
I_BEGIN_COL = 1
I_BEGIN_ROW = 3
I_END_COL = 29
I_END_ROW = 9999
TABLES
INTERN = IT_EXCEL
* 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_EXCEL.
CASE IT_EXCEL-COL.
WHEN '001'.
RECORD-BUKRS = IT_EXCEL-VALUE.
WHEN '002'.
RECORD-BLDAT = IT_EXCEL-VALUE.
WHEN '003'.
RECORD-BLART = IT_EXCEL-VALUE.
WHEN '004'.
RECORD-BUDAT = IT_EXCEL-VALUE.
WHEN '005'.
RECORD-MONAT = IT_EXCEL-VALUE.
WHEN '006'.
RECORD-WAERS = IT_EXCEL-VALUE.
WHEN '007'.
RECORD-KURSF = IT_EXCEL-VALUE.
WHEN '008'.
RECORD-XBLNR = IT_EXCEL-VALUE.
WHEN '009'.
RECORD-HBKTXT = IT_EXCEL-VALUE.
WHEN '010'.
RECORD-NEWBS = IT_EXCEL-VALUE.
WHEN '011'.
RECORD-NEWKO = IT_EXCEL-VALUE.
WHEN '012'.
RECORD-WRBTR = IT_EXCEL-VALUE.
WHEN '013'.
RECORD-NEWUM = IT_EXCEL-VALUE.
WHEN '014'.
RECORD-BUPLA = IT_EXCEL-VALUE.
WHEN '015'.
RECORD-SECCO = IT_EXCEL-VALUE.
*ED6K902494 samarendra 05.05.2009
WHEN '016'.
RECORD-GSBER = IT_EXCEL-VALUE.
*ED6K902494 samarendra 05.05.2009
WHEN '017'.
RECORD-PRCTR = IT_EXCEL-VALUE.
WHEN '018'.
RECORD-KOSTL = IT_EXCEL-VALUE.
WHEN '019'.
RECORD-PS_POSID = IT_EXCEL-VALUE.
WHEN '020'.
RECORD-NPLNR = IT_EXCEL-VALUE.
WHEN '021'.
RECORD-VORNR = IT_EXCEL-VALUE.
WHEN '022'.
RECORD-ISGTXT = IT_EXCEL-VALUE.
WHEN '023'.
RECORD-ZUONR = IT_EXCEL-VALUE.
WHEN '024'.
RECORD-ZFBDT = IT_EXCEL-VALUE.
WHEN '025'.
RECORD-PERNR = IT_EXCEL-VALUE.
WHEN '026'.
RECORD-SRNO = IT_EXCEL-VALUE.
WHEN '027'.
RECORD-DMBTR = IT_EXCEL-VALUE.
WHEN '028'.
RECORD-HKONT = IT_EXCEL-VALUE.
WHEN '029'.
RECORD-DMBE2 = IT_EXCEL-VALUE.
ENDCASE.
AT END OF ROW.
APPEND RECORD.
CLEAR RECORD.
ENDAT.
ENDLOOP.
DATA V_INDEX TYPE I.
PERFORM OPEN_GROUP.
LOOP AT RECORD.
V_INDEX = SY-TABIX.
IF RECORD-SRNO = 1.
IF SY-TABIX <> 1.
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' WA-XBLNR.
PERFORM BDC_FIELD USING 'BKPF-BKTXT' WA-HBKTXT.
PERFORM BDC_TRANSACTION USING 'F-02'.
ENDIF.
CLEAR: WA.
WA = RECORD.
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.
PERFORM BDC_FIELD USING 'BKPF-BLART' RECORD-BLART.
PERFORM BDC_FIELD USING 'BKPF-BUKRS' RECORD-BUKRS.
PERFORM BDC_FIELD USING 'BKPF-BUDAT' RECORD-BUDAT.
PERFORM BDC_FIELD USING 'BKPF-MONAT' RECORD-MONAT.
PERFORM BDC_FIELD USING 'BKPF-WAERS' RECORD-WAERS.
PERFORM BDC_FIELD USING 'BKPF-KURSF' RECORD-KURSF.
PERFORM BDC_FIELD USING 'BKPF-XBLNR' RECORD-XBLNR.
PERFORM BDC_FIELD USING 'BKPF-BKTXT' RECORD-HBKTXT.
PERFORM BDC_FIELD USING 'RF05A-NEWBS' RECORD-NEWBS. .
PERFORM BDC_FIELD USING 'RF05A-NEWKO' RECORD-NEWKO.
PERFORM BDC_FIELD USING 'RF05A-NEWUM' RECORD-NEWUM.
PERFORM FIND_SCREEN_ON_PKEY USING V_INDEX.
ELSE.
PERFORM BDC_FIELD USING 'RF05A-NEWBS' RECORD-NEWBS." '40'
PERFORM BDC_FIELD USING 'RF05A-NEWKO' RECORD-NEWKO.
PERFORM BDC_FIELD USING 'RF05A-NEWUM' RECORD-NEWUM. " SP GL
PERFORM FIND_SCREEN_ON_PKEY USING V_INDEX.
ENDIF.
WA_ITEM = RECORD. CLEAR: V_INDEX.
ENDLOOP.
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' WA-XBLNR.
PERFORM BDC_FIELD USING 'BKPF-BKTXT' WA-HBKTXT.
PERFORM BDC_TRANSACTION USING 'F-02'.
PERFORM CLOSE_GROUP.
*&---------------------------------------------------------------------*
*& Form find_screen_on_pkey
*&---------------------------------------------------------------------*
* Find screen Based on Posting Key
*----------------------------------------------------------------------*
FORM FIND_SCREEN_ON_PKEY USING V_INDEX.
READ TABLE IT_ZF02T WITH KEY BUKRS = RECORD-BUKRS
NEWBS = RECORD-NEWBS
NEWUM = RECORD-NEWUM.
PERFORM BDC_DYNPRO USING 'SAPMF05A' IT_ZF02T-DYNPRO. "'0300'.
PERFORM BDC_FIELD USING 'BSEG-BUPLA' RECORD-BUPLA.
PERFORM BDC_FIELD USING 'BSEG-SECCO' RECORD-SECCO.
*ED6K902494 samarendra 05.05.2009
IF RECORD-NEWBS <> '40' AND RECORD-NEWBS <> '50'.
PERFORM BDC_FIELD USING 'BSEG-GSBER' RECORD-GSBER.
ENDIF.
*ED6K902494 samarendra 05.05.2009
PERFORM BDC_FIELD USING 'BSEG-WRBTR' RECORD-WRBTR.
PERFORM BDC_FIELD USING 'BSEG-DMBTR' RECORD-DMBTR.
PERFORM BDC_FIELD USING 'BSEG-SGTXT' RECORD-ISGTXT.
PERFORM BDC_FIELD USING 'BSEG-ZUONR' RECORD-ZUONR.
PERFORM BDC_FIELD USING 'BSEG-ZFBDT' RECORD-ZFBDT.
PERFORM BDC_FIELD USING 'BSEG-HKONT' RECORD-HKONT.
PERFORM BDC_FIELD USING 'BSEG-PRCTR' RECORD-PRCTR.
IF RECORD-NEWBS = '40' OR RECORD-NEWBS = '50'. "300 screen
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-SGTXT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=ZK'.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
IF NOT RECORD-PERNR IS INITIAL .
PERFORM BDC_FIELD USING 'COBL-PERNR'
RECORD-PERNR . " '20005574'.
ENDIF .
*ED6K902494 samarendra 05.05.2009
PERFORM BDC_FIELD USING 'COBL-GSBER'
RECORD-GSBER .
*ED6K902494 samarendra 05.05.2009
PERFORM BDC_FIELD USING 'COBL-PRCTR'
RECORD-PRCTR . " 'pcatest01'.
PERFORM BDC_FIELD USING 'COBL-KOSTL' RECORD-KOSTL.
PERFORM BDC_FIELD USING 'COBL-PS_POSID' RECORD-PS_POSID.
PERFORM BDC_FIELD USING 'COBL-NPLNR' RECORD-NPLNR.
PERFORM BDC_FIELD USING 'COBL-VORNR' RECORD-VORNR.
V_INDEX = V_INDEX + 1.
READ TABLE RECORD INDEX V_INDEX.
IF SY-SUBRC <> 0 OR RECORD-SRNO = 1.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0330'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-CCBTC'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BS'.
******************* Index Currency vijay start
V_INDEX = V_INDEX - 1. "25-09-08
READ TABLE RECORD INDEX V_INDEX.
PERFORM BDC_FIELD USING 'BSEG-DMBE2' RECORD-DMBE2.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-DMBE2'.
* perform bdc_field using 'BDC_OKCODE' '=BU'. ""Vijay
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
V_INDEX = V_INDEX + 1.
READ TABLE RECORD INDEX V_INDEX.
******************* Index Currency vijay end
ELSE.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0330'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RF05A-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
******************* Index Currency vijay start
V_INDEX = V_INDEX - 1.
READ TABLE RECORD INDEX V_INDEX.
PERFORM BDC_FIELD USING 'BSEG-DMBE2' RECORD-DMBE2.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-DMBE2'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
V_INDEX = V_INDEX + 1.
READ TABLE RECORD INDEX V_INDEX.
******************* Index Currency vijay end
ENDIF.
V_INDEX = V_INDEX - 1.
READ TABLE RECORD INDEX V_INDEX.
ELSE.
V_INDEX = V_INDEX + 1.
READ TABLE RECORD INDEX V_INDEX.
IF SY-SUBRC <> 0 OR RECORD-SRNO = 1.
PERFORM BDC_DYNPRO USING 'SAPMF05A' IT_ZF02T-DYNPRO.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-SGTXT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.
ELSE.
PERFORM BDC_DYNPRO USING 'SAPMF05A' IT_ZF02T-DYNPRO.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-SGTXT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'. "'=ZK'.
ENDIF.
V_INDEX = V_INDEX - 1.
READ TABLE RECORD INDEX V_INDEX.
*ED6K902494 added reading it_tbsl table samarendra 07.05.2009
CLEAR WA_TBSL.
READ TABLE IT_TBSL INTO WA_TBSL WITH KEY BSCHL = RECORD-NEWBS.
IF WA_TBSL-KOART = 'D'.
* if record-newbs = '09' or record-newbs = '19'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=ZK'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0331'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-DMBE2'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
PERFORM BDC_FIELD USING 'BSEG-DMBE2' RECORD-DMBE2.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-DMBE2'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
ELSEIF WA_TBSL-KOART = 'K'.
*ED6K902494 added "newbs" condition for '09' samarendra 06.05.2009
*********************** ************** index 26-08-08
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=ZK'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0332'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-DMBE2'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
PERFORM BDC_FIELD USING 'BSEG-DMBE2' RECORD-DMBE2.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-DMBE2'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
ENDIF.
*************** ************** index 26-08-08
ENDIF.
ENDFORM. " find_screen_on_pkey
‎2016 Jun 29 2:05 PM
What did you try, which errors did you get during BDC execution (session/transaction)
At least describe the error, a plain "that doesn't perform well" wont raise correct answers...
Regards,
Raymond
‎2016 Jun 30 5:48 AM
Sir,
I am using call transaction and getting this error after the 1st screen.
S
Field BSEG-SECCO. does not exist in the screen SAPMF05A 0300
S
Field BSEG-DMBTR. does not exist in the screen SAPMF05A 0300
Please help me to resolve this.
‎2016 Jun 30 6:52 AM
For Fields:
Other solutions (not building a BDC from record and scratch)
Use search tool on those, there are already multiple discussions and documents.
Regards,
Raymond