‎2007 Nov 25 8:27 PM
This is lalitha
In the below BDC program at "start new-screen"
----
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.
I got an error " the data object 'bdcdata" has no structure and therefore no component called program .
please tell me how to solve this error .
ThankU .
‎2007 Nov 25 8:31 PM
Hi,
You must have not declared BDCDATA, declare as below
Data: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
Reward Points if this helps,
Satish
‎2007 Nov 26 8:47 AM
HI Lalitha,
U have not declared the struce for bdcdata so it is giving error.
declare:
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADERLINE.
one more thing if ur not using field value please comment it . Then it doest give any error.
ie. comment the values which are in bold.
<b>IF FVAL <> NODATA.</b>
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
<b>ENDIF.</b>
ENDFORM
<b>reward if useful</b>.
regards,
sunil kumar.
‎2007 Nov 26 9:04 AM
‎2007 Nov 26 9:14 AM
HI
refer this small code
REPORT ZBDCVENDOR
no standard page heading line-size 255 .
DATA: BEGIN OF ITAB OCCURS 2,
LIFNR_001(016) TYPE C,
EKORG_002(004) TYPE C,
KTOKK_003(004) TYPE C,
ANRED_004(015) TYPE C,
NAME1_005(035) TYPE C,
SORTL_006(010) TYPE C,
LAND1_007(003) TYPE C,
SPRAS_008(002) TYPE C,
WAERS_009(005) TYPE C,
END OF ITAB.
DATA BDC LIKE BDCDATA OCCURS 2 WITH HEADER LINE.
start-of-selection.
*perform open_dataset using dataset.
perform open_group.
PERFORM READ_DATA.
LOOP AT ITAB.
CLEAR BDC.
REFRESH BDC.
perform BDC_DYNPRO using 'SAPMF02K' '0100'.
perform bdc_field using 'BDC_CURSOR' 'RF02K-KTOKK'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'RF02K-LIFNR' ITAB-LIFNR_001.
perform bdc_field using 'RF02K-EKORG' ITAB-EKORG_002.
perform bdc_field using 'RF02K-KTOKK' ITAB-KTOKK_003.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR' 'LFA1-SPRAS'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'LFA1-ANRED' ITAB-ANRED_004.
perform bdc_field using 'LFA1-NAME1' ITAB-NAME1_005.
perform bdc_field using 'LFA1-SORTL' ITAB-SORTL_006.
perform bdc_field using 'LFA1-LAND1' ITAB-LAND1_007.
perform bdc_field using 'LFA1-SPRAS' ITAB-SPRAS_008.
perform bdc_dynpro using 'SAPMF02K' '0120'.
perform bdc_field using 'BDC_CURSOR' 'LFA1-KUNNR'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_dynpro using 'SAPMF02K' '0130'.
perform bdc_field using 'BDC_CURSOR' 'LFBK-BANKS(01)'.
perform bdc_field using 'BDC_OKCODE' '=ENTR'.
perform bdc_dynpro using 'SAPMF02K' '0310'.
perform bdc_field using 'BDC_CURSOR' 'LFM1-WAERS'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'LFM1-WAERS' ITAB-WAERS_009.
perform bdc_dynpro using 'SAPMF02K' '0320'.
perform bdc_field using 'BDC_CURSOR' 'RF02K-LIFNR'.
perform bdc_field using 'BDC_OKCODE' '=ENTR'.
perform bdc_dynpro using 'SAPLSPO1' '0300'.
perform bdc_field using 'BDC_OKCODE' '=YES'.
*perform bdc_transaction using 'XK01'.
ENDLOOP.
perform close_group.
*********************************************
FIRST FM -- OPEN GROUP
*********************************************
FORM OPEN_GROUP.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = 'TEST'
KEEP = 'X'
USER = 'SAPUSER'.
ENDFORM. "OPEN GROUP
**********************************************
SECOND FM -- READ_DATA
*********************************************
FORM READ_DATA.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'H:\EMP.TXT'
FILETYPE = 'ASC'
TABLES
DATA_TAB = ITAB.
ENDFORM. "READ DATA
*********************************************
THIRD FM -- BDC_DYNPRO
*********************************************
FORM BDC_DYNPRO USING P_PROG
P_SCR.
BDC-PROGRAM = P_PROG.
BDC-DYNPRO = P_SCR.
BDC-DYNBEGIN = 'X'.
APPEND BDC.
ENDFORM. "BDC_DYNPRO
*********************************************
FOURTH FM -- BDC_FILED
*********************************************
FORM BDC_FIELD USING P_FNAM
P_FVAL.
CLEAR BDC.
BDC-FNAM = P_FNAM.
BDC-FVAL = P_FVAL.
APPEND BDC.
ENDFORM. "BDC_FIELD
*********************************************
FIFTH FM -- CLOSE_GROUP
*********************************************
FORM CLOSE_GROUP.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
ENDFORM. " CLOSE_GROUP