2008 May 01 9:07 AM
hi gurus,
i create a call transaction programm using f-27
it run perfectly but a problem in 3rd screen at this the amount field are come when i save it a popup screen is come
like as
coding block is screen name that i show here
-
Order -
Profit Center----
>>>
Functional Area----
Sales Order----
-
after given profit centr as (dummy) it will be save in company code
but i want that we givent in f-27 manual data entry there is no pop up of this type of screen at 3rd screen data is directly saved in company code like 8601. i am send u the code plz help me and given a perfect solution for this problem solving that the screen not come
thanks
jayant
codes of programm
REPORT zcrdtdaupld
NO STANDARD PAGE HEADING LINE-SIZE 255 .
************************************************************************
I N T E R N A L T A B L E *
************************************************************************
TYPES: BEGIN OF it_output,
bldat(10) TYPE C, "Document Date
blart TYPE bkpf-blart, "Document Type
bukrs TYPE bkpf-bukrs, "Company Code
budat(10) TYPE C, "Posting Date
monat TYPE bkpf-monat, "Period
waers TYPE bkpf-waers, "Currency
xblnr TYPE bkpf-xblnr, "Reference Field
docid TYPE fs006-docid, "Document ID
newbs TYPE rf05a-newbs, "Posting Key
newko TYPE rf05a-newko, "Account Code
wrbtr(16) TYPE C, "Amount in Document currency
zfbdt(10) TYPE C, "Baseline Date
newbs2 TYPE rf05a-newbs, "Account Key2
newko2 TYPE rf05a-newko, "Account code2
wrbtr2(16) TYPE C, "Amount2
END OF it_output.
DATA lt_output TYPE it_output OCCURS 0 WITH HEADER LINE.
DATA it_bdc LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA it_messtab LIKE bdcmsgcoll OCCURS 1 WITH HEADER LINE.
************************************************************************
D A T A *
************************************************************************
DATA: message TYPE string.
DATA: p_file1 type string.
************************************************************************
S E L E C T - O P T I O N S / P A R A M E T E R S *
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK block0 WITH FRAME.
PARAMETERS : p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK block0.
************************************************************************
A T S E L E C T I O N - S C R E E N *
************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
static = 'X'
mask = space
CHANGING
file_name = p_file.
************************************************************************
S T A R T - O F - S E L E C T I O N
*
************************************************************************
START-OF-SELECTION.
PERFORM upload.
PERFORM bdc.
PERFORM write_message.
&----
*& Form bdc
&----
text
----
FORM bdc.
LOOP AT lt_output.
READ TABLE lt_output INDEX 1.
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' lt_output-bldat.
PERFORM bdc_field USING 'BKPF-BLART' lt_output-blart.
PERFORM bdc_field USING 'BKPF-BUKRS' lt_output-bukrs.
PERFORM bdc_field USING 'BKPF-BUDAT' lt_output-budat.
PERFORM bdc_field USING 'BKPF-MONAT' lt_output-monat.
PERFORM bdc_field USING 'BKPF-WAERS' lt_output-waers.
PERFORM bdc_field USING 'BKPF-XBLNR' lt_output-xblnr.
PERFORM bdc_field USING 'FS006-DOCID' lt_output-docid.
PERFORM bdc_field USING 'RF05A-NEWBS' lt_output-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO' lt_output-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BSEG-WRBTR' lt_output-wrbtr.
PERFORM bdc_field USING 'BSEG-ZFBDT' lt_output-zfbdt.
PERFORM bdc_field USING 'RF05A-NEWBS' lt_output-newbs2."newbs2
PERFORM bdc_field USING 'RF05A-NEWKO' lt_output-newko2."newko2
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_field USING 'BSEG-WRBTR' lt_output-wrbtr2.
PERFORM bdc_field USING 'BSEG-MWSKZ' '**' .
PERFORM bdc_field USING 'BSEG-ZTERM' 'C007'.
PERFORM bdc_field USING 'BSEG-ZBD1T' '7'.
CALL TRANSACTION 'F-27' USING it_bdc mode 'A'
MESSAGES INTO it_messtab.
CLEAR it_bdc. REFRESH it_bdc.
ENDLOOP.
ENDFORM. "bdc
&----
*& Form write_message
&----
text
----
FORM write_message.
LOOP AT it_messtab .
CLEAR message.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = 'EN'
no = sy-msgno
v1 = sy-msgv1
v2 = sy-msgv2
v3 = sy-msgv3
v4 = sy-msgv4
IMPORTING
msg = message.
CASE it_messtab-msgtyp.
WHEN 'S'.
WRITE:/ message.
CLEAR message.
WHEN 'E'.
FORMAT COLOR 6 ON.
WRITE:/ message.
CLEAR message.
ENDCASE.
ENDLOOP.
ENDFORM. "write_message
----
FORM BDC_DYNPRO *
----
........ *
----
--> PROGRAM *
--> DYNPRO *
----
FORM bdc_dynpro USING program dynpro.
it_bdc-program = program.
it_bdc-dynpro = dynpro.
it_bdc-dynbegin = 'X'.
APPEND it_bdc.
CLEAR it_bdc.
ENDFORM. "BDC_DYNPRO
----
FORM *
----
........ *
----
FORM bdc_field USING fnam fval.
it_bdc-fnam = fnam.
it_bdc-fval = fval.
APPEND it_bdc.
CLEAR it_bdc.
ENDFORM. "BDC_FIELD
&----
*& Form upload
&----
text
----
--> p1 text
<-- p2 text
----
FORM upload .
p_file1 = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = p_file1
FILETYPE = 'DAT'
tables
data_tab = lt_output
.
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. " upload
-
FLAT FILE
-
30.04.2008 DA 8601 30.04.2008 4 CNY REF1 31 90001 500 30.04.2008 40 3990000002 500
hi gurus,
i create a call transaction programm using f-27
it run perfectly but a problem in 3rd screen at this the amount field are come when i save it a popup screen is come
like as
coding block is screen name that i show here
-
Order -
Profit Center----
>>>
Functional Area----
Sales Order----
-
after given profit centr as (dummy) it will be save in company code
but i want that we givent in f-27 manual data entry there is no pop up of this type of screen at 3rd screen data is directly saved in company code like 8601. i am send u the code plz help me and given a perfect solution for this problem solving that the screen not come
thanks
jayant
codes of programm
REPORT zcrdtdaupld
NO STANDARD PAGE HEADING LINE-SIZE 255 .
************************************************************************
I N T E R N A L T A B L E *
************************************************************************
TYPES: BEGIN OF it_output,
bldat(10) TYPE C, "Document Date
blart TYPE bkpf-blart, "Document Type
bukrs TYPE bkpf-bukrs, "Company Code
budat(10) TYPE C, "Posting Date
monat TYPE bkpf-monat, "Period
waers TYPE bkpf-waers, "Currency
xblnr TYPE bkpf-xblnr, "Reference Field
docid TYPE fs006-docid, "Document ID
newbs TYPE rf05a-newbs, "Posting Key
newko TYPE rf05a-newko, "Account Code
wrbtr(16) TYPE C, "Amount in Document currency
zfbdt(10) TYPE C, "Baseline Date
newbs2 TYPE rf05a-newbs, "Account Key2
newko2 TYPE rf05a-newko, "Account code2
wrbtr2(16) TYPE C, "Amount2
END OF it_output.
DATA lt_output TYPE it_output OCCURS 0 WITH HEADER LINE.
DATA it_bdc LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA it_messtab LIKE bdcmsgcoll OCCURS 1 WITH HEADER LINE.
************************************************************************
D A T A *
************************************************************************
DATA: message TYPE string.
DATA: p_file1 type string.
************************************************************************
S E L E C T - O P T I O N S / P A R A M E T E R S *
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK block0 WITH FRAME.
PARAMETERS : p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK block0.
************************************************************************
A T S E L E C T I O N - S C R E E N *
************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
static = 'X'
mask = space
CHANGING
file_name = p_file.
************************************************************************
S T A R T - O F - S E L E C T I O N
*
************************************************************************
START-OF-SELECTION.
PERFORM upload.
PERFORM bdc.
PERFORM write_message.
&----
*& Form bdc
&----
text
----
FORM bdc.
LOOP AT lt_output.
READ TABLE lt_output INDEX 1.
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' lt_output-bldat.
PERFORM bdc_field USING 'BKPF-BLART' lt_output-blart.
PERFORM bdc_field USING 'BKPF-BUKRS' lt_output-bukrs.
PERFORM bdc_field USING 'BKPF-BUDAT' lt_output-budat.
PERFORM bdc_field USING 'BKPF-MONAT' lt_output-monat.
PERFORM bdc_field USING 'BKPF-WAERS' lt_output-waers.
PERFORM bdc_field USING 'BKPF-XBLNR' lt_output-xblnr.
PERFORM bdc_field USING 'FS006-DOCID' lt_output-docid.
PERFORM bdc_field USING 'RF05A-NEWBS' lt_output-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO' lt_output-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BSEG-WRBTR' lt_output-wrbtr.
PERFORM bdc_field USING 'BSEG-ZFBDT' lt_output-zfbdt.
PERFORM bdc_field USING 'RF05A-NEWBS' lt_output-newbs2."newbs2
PERFORM bdc_field USING 'RF05A-NEWKO' lt_output-newko2."newko2
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_field USING 'BSEG-WRBTR' lt_output-wrbtr2.
PERFORM bdc_field USING 'BSEG-MWSKZ' '**' .
PERFORM bdc_field USING 'BSEG-ZTERM' 'C007'.
PERFORM bdc_field USING 'BSEG-ZBD1T' '7'.
CALL TRANSACTION 'F-27' USING it_bdc mode 'A'
MESSAGES INTO it_messtab.
CLEAR it_bdc. REFRESH it_bdc.
ENDLOOP.
ENDFORM. "bdc
&----
*& Form write_message
&----
text
----
FORM write_message.
LOOP AT it_messtab .
CLEAR message.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = 'EN'
no = sy-msgno
v1 = sy-msgv1
v2 = sy-msgv2
v3 = sy-msgv3
v4 = sy-msgv4
IMPORTING
msg = message.
CASE it_messtab-msgtyp.
WHEN 'S'.
WRITE:/ message.
CLEAR message.
WHEN 'E'.
FORMAT COLOR 6 ON.
WRITE:/ message.
CLEAR message.
ENDCASE.
ENDLOOP.
ENDFORM. "write_message
----
FORM BDC_DYNPRO *
----
........ *
----
--> PROGRAM *
--> DYNPRO *
----
FORM bdc_dynpro USING program dynpro.
it_bdc-program = program.
it_bdc-dynpro = dynpro.
it_bdc-dynbegin = 'X'.
APPEND it_bdc.
CLEAR it_bdc.
ENDFORM. "BDC_DYNPRO
----
FORM *
----
........ *
----
FORM bdc_field USING fnam fval.
it_bdc-fnam = fnam.
it_bdc-fval = fval.
APPEND it_bdc.
CLEAR it_bdc.
ENDFORM. "BDC_FIELD
&----
*& Form upload
&----
text
----
--> p1 text
<-- p2 text
----
FORM upload .
p_file1 = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = p_file1
FILETYPE = 'DAT'
tables
data_tab = lt_output
.
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. " upload
-
FLAT FILE
-
30.04.2008 DA 8601 30.04.2008 4 CNY REF1 31 90001 500 30.04.2008 40 3990000002 500
2008 May 07 10:46 AM
hey,
inside the loop at , y ur giving the same read table of the same internal table with sy-index . that line is no need take it.
next manually test the sample data in f-27. don't do any recording . if ur getting there itself then its the problem in Functional side . if not its our problem .try to record properly .
while recording data after the end of every screen press enter. inthe 3 rd screen press enter then save . i think it will help full for you .
regards
vinoth