‎2007 Mar 07 10:05 AM
Hi I am trying to create condition record for vendors using tcode MN04.
When I execute my program I get the error
<u><b>"Start screen does not exist in batch input data "[</b></u>
and it aborts. message type A in bdcmsgcoll.
whereas when i execute the recording (which i converted into program), it creates without any error.
Appreciate immediate reply.
<u><b>PROGRAM</b></u>
TABLES : LFM1.
DATA : i_lfm1 LIKE lfm1 OCCURS 0 WITH HEADER LINE,
bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE,
msgtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
DATA : lv_lifnr TYPE char10,
lv_mode VALUE 'N'.
CONSTANTS : c_6 VALUE 6,
c_4 VALUE 4,
c_VN(2) VALUE 'VN'.
SELECT *
INTO TABLE i_lfm1
FROM lfm1
WHERE lifnr = 'C101021' AND
ekorg = 'SHCS' OR
ekorg = 'SCCS'. " OR
ekorg = 'SATE'.
IF sy-subrc = 0.
LOOP AT i_lfm1.
MOVE i_lfm1-lifnr TO lv_lifnr.
perform bdc_dynpro using 'SAPMV13B' '0100'.
perform bdc_field using 'BDC_CURSOR' 'RV13B-KSCHL'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'RV13B-KSCHL' 'Z3PO'.
perform bdc_dynpro using 'SAPLV14A' '0100'.
perform bdc_field using 'BDC_CURSOR' 'RV130-SELKZ(01)'.
perform bdc_field using 'BDC_OKCODE' '=WEIT'.
perform bdc_dynpro using 'SAPMV13B' '1027'.
perform bdc_field using 'BDC_CURSOR' 'NACH-SPRAS(01)'.
perform bdc_field using 'BDC_OKCODE' '=SICH'.
perform bdc_field using 'KOMB-EKORG' i_lfm1-ekorg.
perform bdc_field using 'KOMB-LIFNR(01)' 'C101021'.
perform bdc_field using 'NACH-PARVW(01)' c_VN.
perform bdc_field using 'NACH-NACHA(01)' c_6.
perform bdc_field using 'NACH-VSZTP(01)' c_4.
perform bdc_field using 'NACH-SPRAS(01)' 'EN'.
REFRESH msgtab.
CLEAR msgtab.
Call transaction MN04 to create condition record.
CALL TRANSACTION 'MN04' USING bdcdata
MODE 'A'
UPDATE 'S'
MESSAGES INTO msgtab.
LOOP AT msgtab.
ENDLOOP.
ENDLOOP.
ENDIF.
FORM bdc_dynpro USING program dynpro.
Populate BDC table with screen information
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
APPEND bdcdata.
ENDFORM. " bdc_dynpro
FORM bdc_field USING fnam fval.
Populate BDC table with field information
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM. " bdc_field
‎2007 Mar 07 2:08 PM
hi.....
got ur problem..
check the form bdc_dynpro...
FORM bdc_dynpro USING program dynpro.
Populate BDC table with screen information
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
<b>BDCDATA-DYNBEGIN = 'X'.</b> <b><u>( U forgot this to fill this field )</u></b>
APPEND bdcdata.
ENDFORM. " bdc_dynpro
reward if it solves ur problem
sai ramesh
‎2007 Mar 07 10:12 AM
‎2007 Mar 07 1:58 PM
use refresh bdcdata and also
while looping say loop at msgtab where msgtab-type = 'E' or msgtab-type ='A'.
endloop.
if u try in this way you may solve your problem just try it ok bye........
‎2007 Mar 07 2:08 PM
hi.....
got ur problem..
check the form bdc_dynpro...
FORM bdc_dynpro USING program dynpro.
Populate BDC table with screen information
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
<b>BDCDATA-DYNBEGIN = 'X'.</b> <b><u>( U forgot this to fill this field )</u></b>
APPEND bdcdata.
ENDFORM. " bdc_dynpro
reward if it solves ur problem
sai ramesh
‎2007 Mar 07 2:14 PM
hi,
Welcome to SDN!!!
yes..Ramesh is right...
u need to give..
bdcdata-dynbegin = 'X'.
regards,
priya.