Bdc vl02n problem
.HI Experts , while giving bdc for vl02n , for serial numbers , it does not accept more than 19 records , what is the problem ,
Moderator message: too vague, help not possible, please describe problems in all technical detail when posting.
Edited by: Thomas Zloch on Nov 26, 2010 12:50 PM
Problem in updating Pick Qty using SD_DELIVERY_UPDATE_PICKING_1
Similar Messages
-
hi,
i am create a programm for f-27 type DG by bdc session method
when i execute it on 3rd screen of execution it ask for the values for PAYMENT TERMS but in manual entry OF F-27 it does not TAKE ANY PAYMENT TERMS. plz check my code and tell me where is the problem in coding.
CODES:
REPORT zcrdtdgupld
NO STANDARD PAGE HEADING LINE-SIZE 255.
*INCLUDE zdata_declarations.
I N T E R N A L T A B L E *
DATA: BEGIN OF wa_data,
bldat TYPE BDC_FVAL, "Document Date10
blart TYPE BDC_FVAL, "Document Type
bukrs TYPE BDC_FVAL, "Company Code
budat TYPE BDC_FVAL, "Posting Date10
monat TYPE BDC_FVAL, "Period
waers TYPE BDC_FVAL, "Currency
xblnr TYPE BDC_FVAL, "Reference Field
docid TYPE BDC_FVAL, "Document ID
newbs TYPE BDC_FVAL, "Posting Key
newko TYPE BDC_FVAL, "Account Code
wrbtr TYPE BDC_FVAL, "Amount in Documentcurrency
zfbdt TYPE BDC_FVAL, "Baseline Date10
newbs2 TYPE BDC_FVAL, "Account Key2
newko2 TYPE BDC_FVAL, "Account code2
wrbtr2 TYPE BDC_FVAL, "bseg-wrbtr,"Amount2
kostl TYPE BDC_FVAL, " cost center
prctr TYPE BDC_FVAL, " profit center
END OF wa_data.
D A T A *
DATA: it_data LIKE TABLE OF wa_data.
DATA: it_bdcdata TYPE TABLE OF bdcdata.
DATA: wa_bdcdata LIKE LINE OF it_bdcdata.
DATA: v_file TYPE string.
S E L E C T I O N S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK b.
PARAMETERS : pa_file LIKE fc03tab-pl00_file OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b.
AT SELECTION-SCREEN *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_file.
PERFORM get_file USING pa_file.
S T A R T O F S E L E C T I O N *
START-OF-SELECTION.
v_file = pa_file.
*uploading flat file into internal table
PERFORM upload_file USING v_file CHANGING it_data.
*open the session
PERFORM open_session.
*POPULATING THE BDCDATA
LOOP AT it_data INTO wa_data.
REFRESH it_bdcdata.
PERFORM bdc_dynpro USING 'SAPMF05A' '0100' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BKPF-BLDAT' wa_data-bldat.
PERFORM bdc_field USING 'BKPF-BLART' wa_data-blart.
PERFORM bdc_field USING 'BKPF-BUKRS' wa_data-bukrs.
PERFORM bdc_field USING 'BKPF-BUDAT' wa_data-budat.
PERFORM bdc_field USING 'BKPF-MONAT' wa_data-monat.
PERFORM bdc_field USING 'BKPF-WAERS' wa_data-waers.
PERFORM bdc_field USING 'BKPF-XBLNR' wa_data-xblnr.
PERFORM bdc_field USING 'FS006-DOCID' wa_data-docid.
PERFORM bdc_field USING 'RF05A-NEWBS' wa_data-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO' wa_data-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0301' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BSEG-WRBTR' wa_data-wrbtr.
PERFORM bdc_field USING 'BSEG-ZFBDT' wa_data-zfbdt.
PERFORM bdc_field USING 'RF05A-NEWBS' wa_data-newbs2.
PERFORM bdc_field USING 'RF05A-NEWKO' wa_data-newko2.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_field USING 'BSEG-WRBTR' wa_data-wrbtr2.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL' wa_data-kostl. "'101902'
PERFORM bdc_field USING 'COBL-PRCTR' wa_data-prctr.
PERFORM bdc_insert USING 'F-27' it_bdcdata.
ENDLOOP.
*close the session
PERFORM close_session.
*& Form get_file
text
-->P_PA_FILE text
FORM get_file USING p_pa_file.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = syst-repid
field_name = 'PA_FILE'
CHANGING
file_name = pa_file.
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. " get_file
*& Form upload_file
text
-->P_V_FILE text
<--P_IT_DATA text
FORM upload_file USING p_v_file
CHANGING p_it_data LIKE it_data.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = p_v_file
filetype = 'DAT'
has_field_separator = '#'
TABLES
data_tab = p_it_data.
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_file
*& Form open_session
text
--> p1 text
<-- p2 text
FORM open_session .
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
DEST = FILLER8
group = 'JAYANT'
HOLDDATE = FILLER8
keep = 'X'
user = sy-uname.
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. " open_session
*& Form bdc_dynpro
text
-->P_0043 text
-->P_0044 text
FORM bdc_dynpro USING program TYPE BDC_PROG
dynpro TYPE BDC_DYNR
dynbegin TYPE BDC_START.
wa_bdcdata-program = program.
wa_bdcdata-dynpro = dynpro.
wa_bdcdata-dynbegin = dynbegin.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
ENDFORM. " bdc_dynpro
*& Form bdc_field
text
-->P_0048 text
-->P_0049 text
FORM bdc_field USING fnam TYPE FNAM_____4
fval TYPE BDC_FVAL.
wa_bdcdata-fnam = fnam.
wa_bdcdata-fval = fval.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
ENDFORM. " bdc_field
*& Form bdc_insert
text
-->P_0183 text
-->P_IT_BDCDATA text
FORM bdc_insert USING p_tcode TYPE sytcode
p_it_bdcdata LIKE it_bdcdata.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = p_tcode
TABLES
dynprotab = p_it_bdcdata.
ENDFORM. " bdc_insert
*& Form close_session
text
--> p1 text
<-- p2 text
FORM close_session .
CALL FUNCTION 'BDC_CLOSE_GROUP'.
ENDFORM. "close_session
plz help me in this programm
thanks
jayant.why not post this in the ABAP forum?
You expect Basis people to help you on this one? -
BDC upload problem in hr master
Hi,
we are facing a problem in BDC upload for hr master tcode pa40.
we want to stop bdc after 2 screens only and not process further screens. how to do this?
please help
Thanks.Hi,
If you are using Session Mode :
After 2nd screen's is porcessed Use \BEND in the ok code field of BDC TABLE.
This will work,
Regards,
Gurpreet. -
Hi all,
I have a problem with my BDC, I am using a CALL transaction to update few fields. When I do a Call transaction using 'A'(all screen mode) the values which I am passing are getting updated.But when I do the same thing using 'N'(No screen mode) the values are not getting updated.
Please help me with this.
Thanks
JMHi,
You would be some BDC_OKCODE(e.g for information POPUP) which is not captured in your BDC recording. This OKCODE maybe manually proccesed
by you using enter or click in the forreground mode. Also check for warning messages.
If there are none of those mentioned, you can use the following option of Call transaction
CALL TRANSACTION <tcode> USING <bdcdata_tab> OPTIONS FROM <opt>.
opt is a structure of type ctu_params and it needs to be populated(before calling the above statement) as below.
opt-dismode = 'N'.
Regards -
HI all,
i am uploading the customer master data by using bdc session method.
Tcode XD01 contain customizing tab and subscreen with four Z fields .
When i am recording Tcode XD01 that tab and subscreen with fields not appearing how i can write code for that four fields .please give me code sample following are details.
standard program: sapmf02d.
subscreen program: ztab_scr(sub screen designed for four fields program name)
screen number : 5000
ok _code = ok-code-5000.
Please give ur suggestions... asap
thanks&Regards,
rao.Tale a look at OSS note <a href="https://websmp101.sap-ag.de/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=105244&_NLANG=E">Note 105244 - LSMW 1.0: known problems, tips and tricks</a>
Extract :
<i>Situation:
You added separate fields to table KNA1 and want to fill these fields when you transfer data.
Tip:
Make sure that your own fields are also supplemented in the structure BKNA1 and on standard screens. Then these fields are also supplied by the standard batch input program RFBIDE00.</i>
Regards -
Hi All,
I made a BDC in foreground mode for tcode 'IW21' it is working fine but problem is that there are 3 screen coming in foreground while user want to see only last screen with input data and first two screen must not display to user, can anyone please help me? how can i execute first two screen in Bckground and last one in foreground?
regards,Hello,
Use the mode 'E' for this. Fill the values for the first 2 screens in the program and leave the data for the the required screen blank. This will be interpreted as a error and the BDC will stop directly at this screen filling the previous screens.
Vikranth -
Hi All,
i have created a bdc which is working well but mine problem is that if some item is not updated by BDC then it should show in my program or save on desktop.
thanxHello Mr. Suneel,
i am using call by transaction method.plz check the below:--
LOOP AT ITAB.
perform bdc_dynpro using 'SAPMF02K' '0101'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-D0110'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-LIFNR'
ITAB-LIFNR.
perform bdc_field using 'RF02K-BUKRS'
'NILR'.
perform bdc_field using 'RF02K-D0110'
'X'.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
ITAB-TELF1.
perform bdc_field using 'BDC_OKCODE'
'=UPDA'.
*perform bdc_field using 'LFA1-NAME1'
record-NAME1_004.
*perform bdc_field using 'LFA1-SORTL'
record-SORTL_005.
*perform bdc_field using 'LFA1-STRAS'
record-STRAS_006.
*perform bdc_field using 'LFA1-ORT01'
record-ORT01_007.
*perform bdc_field using 'LFA1-PSTLZ'
record-PSTLZ_008.
*perform bdc_field using 'LFA1-LAND1'
record-LAND1_009.
*perform bdc_field using 'LFA1-REGIO'
record-REGIO_010.
*perform bdc_field using 'LFA1-SPRAS'
record-SPRAS_011.
perform bdc_field using 'LFA1-TELF1'
ITAB-TELF1.
*ALL TRANSACTION 'XK02' USING BDCDATA MODE 'A'.
call transaction 'XK02' USING BDCDATA MODE 'A'.
ENDLOOP.
thanx -
hi,
i am posting the FB01 orders
my validations are
if z<table>-G/ L account = flat file (G/L account).
then proccess FB01.
else.
message i000 ' G/l account are not matched'.
proccess FB01.( here bdc need to submitted by "Incorrect" , but it is processed in FB01 ).
can you any one tell,how will incorrect this process the FB01.
ASAP.
by kumar.Hi Prathap,
Could you be more specific, I don't undertand what do your problem is.
Regards,
Eric -
I am having BDC upload problem . 2 transaction upload in one pgm.
Hi ,
I am having problems .In one BDC program that i have written. The data is plopulating the first tcode screens i.e of T Code KL01 but its not populating screen of TCode KP26.
Please can you let me the reason why the screen of t code KP26 is not getting populated correctly .
please help me with directions of where i am going wrong
The code is below .
report ZPM_ACTIVITY_UPLOAD
no standard page heading line-size 255.
*include bdcrecx1.
***************DATA DECLARATION**************************
DATA : message like bdcmsgcoll occurs 0.
DATA : bdcdata type standard table of bdcdata with header line .
data : file type string,
v_msg(255).
DATA:Begin of itab_main occurs 0,
LSTAR type CSLAZ-LSTAR,
DATAB_ANFO(10),
DATAB_ANFO type CSLAZ-DATAB_ANFO,
KTEXT type CSLAZ-KTEXT,
LTEXT type CSLAZ-LTEXT,
LEINH_CHAR type CSLAZ-LEINH_CHAR,
KSTTY type CSLAZ-KSTTY,
LATYP type CSLAZ-LATYP,
VKSTA type CSLAZ-VKSTA,
VERSN type CCSS-VERSN,
PERBL type RKPLN-PERBL,
PERBL1 type RKPLN-PERBL,
GJAHR type CCSS-GJAHR,
KOSTL type CCSS-KOSTL,
LSTAR1 type CCSS-LSTAR,
TKV type RKPLN-TKV,
End of itab_main.
Data :v_file type string.
Data :Begin of itab_KL01 occurs 0,
KL01_LSTAR type CSLAZ-LSTAR,
KL01_DATAB_ANFO(10), " type CSLAZ-DATAB_ANFO,
KL01_DATAB_ANFO type CSLAZ-DATAB_ANFO,
KL01_KTEXT type CSLAZ-KTEXT,
KL01_LTEXT type CSLAZ-LTEXT,
KL01_LEINH_CHAR type CSLAZ-LEINH_CHAR,
KL01_KSTTY type CSLAZ-KSTTY,
KL01_LATYP type CSLAZ-LATYP,
KL01_VKSTA type CSLAZ-VKSTA,
End of itab_KL01.
Data : Begin of error_itab occurs 0,
msg(255),
End of error_itab.
Data :wa_error_itab like line of error_itab.
Data : Begin of itab_KP26 occurs 0,
KP26_VERSN type CCSS-VERSN,
KP26_PERBL type RKPLN-PERBL,
KP26_PERBL1 type RKPLN-PERBL,
KP26_GJAHR type CCSS-GJAHR,
KP26_KOSTL type CCSS-KOSTL,
KP26_LSTAR type CCSS-LSTAR,
KP26_TKV type RKPLN-TKV,
End of itab_KP26.
data : l_v_tab type abap_char1
value cl_abap_char_utilities=>horizontal_tab.
data : counter type c value 0,
countere type c value 0,
counters type c value 0.
PARAMETER: p_file TYPE ibipparms-path obligatory." Needed to upload the file
At selection-screen on value-request for p_file.
Perform get_file.
start-of-selection.
perform file_upload.
Perform split_itab.
****************************************KL01
loop at itab_KL01.
refresh bdcdata.
perform bdc_dynpro using 'SAPLKMA6' '0200'.
perform bdc_field using 'BDC_CURSOR'
'CSLAZ-LSTAR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'CSLAZ-KOKRS'
'1000'.
perform bdc_field using 'CSLAZ-LSTAR'
itab_KL01-KL01_LSTAR .
perform bdc_field using 'CSLAZ-DATAB_ANFO'
itab_KL01-KL01_DATAB_ANFO.
perform bdc_field using 'CSLAZ-DATBI_ANFO'
'31.12.9999'.
perform bdc_dynpro using 'SAPLKMA6' '0299'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'BDC_CURSOR'
'CSLAZ-TARKZ'.
perform bdc_field using 'CSLAZ-KTEXT'
itab_KL01-KL01_KTEXT.
perform bdc_field using 'CSLAZ-LTEXT'
itab_KL01-KL01_LTEXT.
perform bdc_field using 'CSLAZ-LEINH_CHAR'
itab_KL01-KL01_LEINH_CHAR.
perform bdc_field using 'CSLAZ-KSTTY'
itab_KL01-KL01_KSTTY.
perform bdc_field using 'CSLAZ-LATYP'
itab_KL01-KL01_LATYP.
perform bdc_field using 'CSLAZ-VKSTA'
itab_KL01-KL01_VKSTA .
call transaction 'KL01' using BDCDATA MODE 'A' update 's' messages into message .
If sy-subrc eq 0.
counters = counters + 1.
else.
countere = countere + 1 .
perform error_msg.
wa_error_itab-msg = v_msg.
append wa_error_itab-msg to error_itab.
clear wa_error_itab-msg.
endif.
Endloop.
Loop at itab_KP26.
refresh bdcdata.
perform bdc_dynpro using 'SAPLSPO4' '0300'.
perform bdc_field using 'BDC_CURSOR'
'SVALD-VALUE(01)'.
perform bdc_field using 'BDC_OKCODE'
'=FURT'.
perform bdc_field using 'SVALD-VALUE(01)'
'1000'.
perform bdc_dynpro using 'SAPLKPP0' '1000'.
perform bdc_field using 'BDC_CURSOR'
'KPP0B-VALUE(09)'.
perform bdc_field using 'BDC_OKCODE'
'=CSUB'.
perform bdc_field using 'KPP1B-ONLY'
'X'.
perform bdc_field using 'KPP0B-VALUE(01)'
itab_KP26-KP26_VERSN .
perform bdc_field using 'KPP0B-VALUE(02)'
itab_KP26-KP26_PERBL.
perform bdc_field using 'KPP0B-VALUE(03)'
itab_KP26-KP26_PERBL1 .
perform bdc_field using 'KPP0B-VALUE(04)'
itab_KP26-KP26_GJAHR .
perform bdc_field using 'KPP0B-VALUE(06)'
itab_KP26-KP26_KOSTL .
perform bdc_field using 'KPP0B-VALUE(09)'
itab_KP26-KP26_LSTAR.
perform bdc_dynpro using 'SAPLKPP2' '0112'.
perform bdc_field using 'BDC_CURSOR'
'K-BK_0403'.
perform bdc_field using 'BDC_OKCODE'
'=CBUC'.
perform bdc_field using 'Z-BDC08(01)'
itab_KP26-KP26_TKV .
call transaction 'KP26' using BDCDATA MODE 'A' update 'S' messages into message .
If sy-subrc eq 0.
counters = counters + 1.
else.
countere = countere + 1 .
perform error_msg.
wa_error_itab-msg = v_msg.
append wa_error_itab-msg to error_itab.
clear wa_error_itab-msg.
endif.
Endloop.
counter = countere + counters.
write /: 'Total Number of Records is',counter .
Write /: 'Total Number of Successfull records',counters.
Write /: 'Total Number of error records',countere.
If countere GT 0.
Write :/'The error out record message are'.
Loop at error_itab.
write:/ error_itab-msg.
Endloop.
Endif.
*& Form file_upload
text
--> p1 text
<-- p2 text
FORM file_upload .
v_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = v_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = l_v_tab
TABLES
DATA_TAB = itab_main
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17.
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. " file_upload
*& Form split_itab
text
--> p1 text
<-- p2 text
FORM split_itab .
loop at itab_main.
MOVE itab_main-LSTAR TO itab_KL01-KL01_LSTAR.
MOVE itab_main-DATAB_ANFO TO itab_KL01-KL01_DATAB_ANFO.
MOVE itab_main-KTEXT TO itab_KL01-KL01_KTEXT.
MOVE itab_main-LTEXT TO itab_KL01-KL01_LTEXT.
MOVE itab_main-LEINH_CHAR TO itab_KL01-KL01_LEINH_CHAR.
MOVE itab_main-KSTTY TO itab_KL01-KL01_KSTTY.
MOVE itab_main-LATYP TO itab_KL01-KL01_LATYP.
MOVE itab_main-VKSTA TO itab_KL01-KL01_VKSTA.
MOVE itab_main-VERSN TO itab_KP26-KP26_VERSN.
MOVE itab_main-PERBL TO itab_KP26-KP26_PERBL.
MOVE itab_main-PERBL1 TO itab_KP26-KP26_PERBL1.
MOVE itab_main-GJAHR TO itab_KP26-KP26_GJAHR.
MOVE itab_main-KOSTL TO itab_KP26-KP26_KOSTL.
MOVE itab_main-LSTAR1 TO itab_KP26-KP26_LSTAR.
MOVE itab_main-TKV TO itab_KP26-KP26_TKV.
APPEND itab_KL01.
APPEND itab_KP26.
CLEAR itab_KL01.
CLEAR itab_KP26.
endloop.
ENDFORM. " split_itab
*& Form get_file
text
--> p1 text
<-- p2 text
FORM get_file .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = p_file.
ENDFORM. " get_file
Start new screen *
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 <> space.
clear bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
append bdcdata.
endif.
endform. "bdc_field
*& Form error_msg
text
--> p1 text
<-- p2 text
FORM error_msg .
call function 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = 'E'
IMPORTING
msg = v_msg
EXCEPTIONS
not_found = 1
others = 2.
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. " error_msgHi ,
I am having problems .In one BDC program that i have written. The data is plopulating the first tcode screens i.e of T Code KL01 but its not populating screen of TCode KP26.
Please can you let me the reason why the screen of t code KP26 is not getting populated correctly .
please help me with directions of where i am going wrong
The code is below .
report ZPM_ACTIVITY_UPLOAD
no standard page heading line-size 255.
*include bdcrecx1.
***************DATA DECLARATION**************************
DATA : message like bdcmsgcoll occurs 0.
DATA : bdcdata type standard table of bdcdata with header line .
data : file type string,
v_msg(255).
DATA:Begin of itab_main occurs 0,
LSTAR type CSLAZ-LSTAR,
DATAB_ANFO(10),
DATAB_ANFO type CSLAZ-DATAB_ANFO,
KTEXT type CSLAZ-KTEXT,
LTEXT type CSLAZ-LTEXT,
LEINH_CHAR type CSLAZ-LEINH_CHAR,
KSTTY type CSLAZ-KSTTY,
LATYP type CSLAZ-LATYP,
VKSTA type CSLAZ-VKSTA,
VERSN type CCSS-VERSN,
PERBL type RKPLN-PERBL,
PERBL1 type RKPLN-PERBL,
GJAHR type CCSS-GJAHR,
KOSTL type CCSS-KOSTL,
LSTAR1 type CCSS-LSTAR,
TKV type RKPLN-TKV,
End of itab_main.
Data :v_file type string.
Data :Begin of itab_KL01 occurs 0,
KL01_LSTAR type CSLAZ-LSTAR,
KL01_DATAB_ANFO(10), " type CSLAZ-DATAB_ANFO,
KL01_DATAB_ANFO type CSLAZ-DATAB_ANFO,
KL01_KTEXT type CSLAZ-KTEXT,
KL01_LTEXT type CSLAZ-LTEXT,
KL01_LEINH_CHAR type CSLAZ-LEINH_CHAR,
KL01_KSTTY type CSLAZ-KSTTY,
KL01_LATYP type CSLAZ-LATYP,
KL01_VKSTA type CSLAZ-VKSTA,
End of itab_KL01.
Data : Begin of error_itab occurs 0,
msg(255),
End of error_itab.
Data :wa_error_itab like line of error_itab.
Data : Begin of itab_KP26 occurs 0,
KP26_VERSN type CCSS-VERSN,
KP26_PERBL type RKPLN-PERBL,
KP26_PERBL1 type RKPLN-PERBL,
KP26_GJAHR type CCSS-GJAHR,
KP26_KOSTL type CCSS-KOSTL,
KP26_LSTAR type CCSS-LSTAR,
KP26_TKV type RKPLN-TKV,
End of itab_KP26.
data : l_v_tab type abap_char1
value cl_abap_char_utilities=>horizontal_tab.
data : counter type c value 0,
countere type c value 0,
counters type c value 0.
PARAMETER: p_file TYPE ibipparms-path obligatory." Needed to upload the file
At selection-screen on value-request for p_file.
Perform get_file.
start-of-selection.
perform file_upload.
Perform split_itab.
****************************************KL01
loop at itab_KL01.
refresh bdcdata.
perform bdc_dynpro using 'SAPLKMA6' '0200'.
perform bdc_field using 'BDC_CURSOR'
'CSLAZ-LSTAR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'CSLAZ-KOKRS'
'1000'.
perform bdc_field using 'CSLAZ-LSTAR'
itab_KL01-KL01_LSTAR .
perform bdc_field using 'CSLAZ-DATAB_ANFO'
itab_KL01-KL01_DATAB_ANFO.
perform bdc_field using 'CSLAZ-DATBI_ANFO'
'31.12.9999'.
perform bdc_dynpro using 'SAPLKMA6' '0299'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'BDC_CURSOR'
'CSLAZ-TARKZ'.
perform bdc_field using 'CSLAZ-KTEXT'
itab_KL01-KL01_KTEXT.
perform bdc_field using 'CSLAZ-LTEXT'
itab_KL01-KL01_LTEXT.
perform bdc_field using 'CSLAZ-LEINH_CHAR'
itab_KL01-KL01_LEINH_CHAR.
perform bdc_field using 'CSLAZ-KSTTY'
itab_KL01-KL01_KSTTY.
perform bdc_field using 'CSLAZ-LATYP'
itab_KL01-KL01_LATYP.
perform bdc_field using 'CSLAZ-VKSTA'
itab_KL01-KL01_VKSTA .
call transaction 'KL01' using BDCDATA MODE 'A' update 's' messages into message .
If sy-subrc eq 0.
counters = counters + 1.
else.
countere = countere + 1 .
perform error_msg.
wa_error_itab-msg = v_msg.
append wa_error_itab-msg to error_itab.
clear wa_error_itab-msg.
endif.
Endloop.
Loop at itab_KP26.
refresh bdcdata.
perform bdc_dynpro using 'SAPLSPO4' '0300'.
perform bdc_field using 'BDC_CURSOR'
'SVALD-VALUE(01)'.
perform bdc_field using 'BDC_OKCODE'
'=FURT'.
perform bdc_field using 'SVALD-VALUE(01)'
'1000'.
perform bdc_dynpro using 'SAPLKPP0' '1000'.
perform bdc_field using 'BDC_CURSOR'
'KPP0B-VALUE(09)'.
perform bdc_field using 'BDC_OKCODE'
'=CSUB'.
perform bdc_field using 'KPP1B-ONLY'
'X'.
perform bdc_field using 'KPP0B-VALUE(01)'
itab_KP26-KP26_VERSN .
perform bdc_field using 'KPP0B-VALUE(02)'
itab_KP26-KP26_PERBL.
perform bdc_field using 'KPP0B-VALUE(03)'
itab_KP26-KP26_PERBL1 .
perform bdc_field using 'KPP0B-VALUE(04)'
itab_KP26-KP26_GJAHR .
perform bdc_field using 'KPP0B-VALUE(06)'
itab_KP26-KP26_KOSTL .
perform bdc_field using 'KPP0B-VALUE(09)'
itab_KP26-KP26_LSTAR.
perform bdc_dynpro using 'SAPLKPP2' '0112'.
perform bdc_field using 'BDC_CURSOR'
'K-BK_0403'.
perform bdc_field using 'BDC_OKCODE'
'=CBUC'.
perform bdc_field using 'Z-BDC08(01)'
itab_KP26-KP26_TKV .
call transaction 'KP26' using BDCDATA MODE 'A' update 'S' messages into message .
If sy-subrc eq 0.
counters = counters + 1.
else.
countere = countere + 1 .
perform error_msg.
wa_error_itab-msg = v_msg.
append wa_error_itab-msg to error_itab.
clear wa_error_itab-msg.
endif.
Endloop.
counter = countere + counters.
write /: 'Total Number of Records is',counter .
Write /: 'Total Number of Successfull records',counters.
Write /: 'Total Number of error records',countere.
If countere GT 0.
Write :/'The error out record message are'.
Loop at error_itab.
write:/ error_itab-msg.
Endloop.
Endif.
*& Form file_upload
text
--> p1 text
<-- p2 text
FORM file_upload .
v_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = v_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = l_v_tab
TABLES
DATA_TAB = itab_main
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17.
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. " file_upload
*& Form split_itab
text
--> p1 text
<-- p2 text
FORM split_itab .
loop at itab_main.
MOVE itab_main-LSTAR TO itab_KL01-KL01_LSTAR.
MOVE itab_main-DATAB_ANFO TO itab_KL01-KL01_DATAB_ANFO.
MOVE itab_main-KTEXT TO itab_KL01-KL01_KTEXT.
MOVE itab_main-LTEXT TO itab_KL01-KL01_LTEXT.
MOVE itab_main-LEINH_CHAR TO itab_KL01-KL01_LEINH_CHAR.
MOVE itab_main-KSTTY TO itab_KL01-KL01_KSTTY.
MOVE itab_main-LATYP TO itab_KL01-KL01_LATYP.
MOVE itab_main-VKSTA TO itab_KL01-KL01_VKSTA.
MOVE itab_main-VERSN TO itab_KP26-KP26_VERSN.
MOVE itab_main-PERBL TO itab_KP26-KP26_PERBL.
MOVE itab_main-PERBL1 TO itab_KP26-KP26_PERBL1.
MOVE itab_main-GJAHR TO itab_KP26-KP26_GJAHR.
MOVE itab_main-KOSTL TO itab_KP26-KP26_KOSTL.
MOVE itab_main-LSTAR1 TO itab_KP26-KP26_LSTAR.
MOVE itab_main-TKV TO itab_KP26-KP26_TKV.
APPEND itab_KL01.
APPEND itab_KP26.
CLEAR itab_KL01.
CLEAR itab_KP26.
endloop.
ENDFORM. " split_itab
*& Form get_file
text
--> p1 text
<-- p2 text
FORM get_file .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = p_file.
ENDFORM. " get_file
Start new screen *
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 <> space.
clear bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
append bdcdata.
endif.
endform. "bdc_field
*& Form error_msg
text
--> p1 text
<-- p2 text
FORM error_msg .
call function 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = 'E'
IMPORTING
msg = v_msg
EXCEPTIONS
not_found = 1
others = 2.
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. " error_msg -
Regarding bdc(views problem in mm01 while uploading the data)
hi experts,
i have coded a bdc in which i m using mm01 and extending the material to the different plant ,but here in some cases depending upon the material the views get changed for solving this i have to deselect and again select the views which i want and also i have to provide the valuation type for this material, so plz suggest me how to rectifie the views problem.......Ravi,
Do one thing.Develop some temporary BDC programs for different material with required views.
Finally develop a final program.In that internal table loop ,put case statement on material
when 'mat1' .
take the relevant code from above temporary progarms and copy here.
when '2'.
endcase.
At last delete all temporary programs.
Hope your problem will get solved
Don't forget to reward if useful. -
Me41(Ekko entry) BDC loop Problem
Dear Experts.
I am creating a BDC for Me41(ekko entry).(4.6C Version)
in the item screen I am able to enter 17 records(by default 17 items in the screen).after that I am trying to
click on Page down option(P+ in recording) ,then it is not going to the next page.
I tried in normal creation of rfq by me41 and through recording also.
but this page down is not working.
I want to enter 100 recordsin one RFQ.
Please sujject a solution.
Thank & Regards,
venkatHi,
What you do is click on insert row for every new record entry, so with that way you can do any no of entries.
I had done for 5000 line items, so after an item entry click on insert row.
watch out for Enter lines(CntrlShiftF1), that creates a new line, with this way you can avoid screen resolution problem also, as some system have 17 rows and other system has 20 rows.
Regards
Bala Krishna
Edited by: Bala Krishna on Jul 27, 2009 3:58 PM -
Hi,
I wrote a batch program to transfer GL data from text file to SAP. It uses FB01.
Everything works fine except for some GL accounts that do not need cost center input. When such account inserted my program has an error
saying that there is no field 'COBL-KOSTL' in the form.
To fix the problem my program has to access substitution rule and either insert or not incert line: PERFORM bdc_field USING 'COBL-KOSTL' itab-kostl. "Cost center
Question: how to access substitution rules from ABAP program? Or may be I have to access basic set generated by substitution? Or may be any other way?
Thank you,
VitalyHi,
These tables might help you.
GB03 Validation/Substitution User
GB03T Validation/Substitution Application Area T
GB31 Validation/Substitution Callup Points
GB31T Validation/Substitution Callup Point Text
GB907 Rule: Usage of Rules in Substitutions
GB92 Substitutions
GB921 Substitution Conditions
GB921T Substitution: Text Table for Substitution
GB922 Substitution Constants
GB925 Usage of Substitutions
GB92T Texts for Substitutions
I have not checked the details of which table to use exactly but I am sure it would help you in some sense.
Regards
Nishant -
Hi all,
Is there any way by which we can delete the BDC_CURSOR field from the recording of LSMW 's BDC recording method.
thanks
Sonalhi
I think, Simply edit the recorded structure and delete that recorded code, but I am not sure v can delete that....
I donno how come it is going to work because it is in the sequential order of the screens and the operation u did in that tcode while recording
~~Guduri -
Hi all,
I have created bdc for mb1a .
its working fine in mode A but its not worl\king in mode N.
it gives message 'Field COBL-KOSTL. is not an input field'..
please help its urgent.Hello,
USe this report which uses BAPI.
REPORT ZV_TEST .
* Structures for BAPI
DATA: GM_HEADER TYPE BAPI2017_GM_HEAD_01.
DATA: GM_CODE TYPE BAPI2017_GM_CODE.
DATA: GM_HEADRET TYPE BAPI2017_GM_HEAD_RET.
DATA: GM_ITEM TYPE TABLE OF
BAPI2017_GM_ITEM_CREATE WITH HEADER LINE.
DATA: GM_RETURN TYPE BAPIRET2 OCCURS 0 WITH HEADER LINE.
DATA: GM_RETMTD TYPE BAPI2017_GM_HEAD_RET-MAT_DOC.
CLEAR: GM_RETURN, GM_RETMTD. REFRESH GM_RETURN.
* Setup BAPI header data.
GM_HEADER-PSTNG_DATE = SY-DATUM.
GM_HEADER-DOC_DATE = SY-DATUM.
GM_CODE-GM_CODE = '03'. " MB1A
* Write 971 movement to table
CLEAR GM_ITEM.
MOVE '412' TO GM_ITEM-MOVE_TYPE .
MOVE 'Q' TO GM_ITEM-SPEC_STOCK.
MOVE '3800533484' TO GM_ITEM-MATERIAL.
MOVE '1' TO GM_ITEM-ENTRY_QNT.
*MOVE 'PC' TO GM_ITEM-ENTRY_UOM.
MOVE '1060' TO GM_ITEM-PLANT.
MOVE '0007' TO GM_ITEM-STGE_LOC.
*MOVE '0901' TO GM_ITEM-MOVE_REAS.
MOVE 'P203601001' TO GM_ITEM-WBS_ELEM.
MOVE 'P203601001' TO GM_ITEM-VAL_WBS_ELEM.
APPEND GM_ITEM.
* Call goods movement BAPI
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
GOODSMVT_HEADER = GM_HEADER
GOODSMVT_CODE = GM_CODE
IMPORTING
GOODSMVT_HEADRET = GM_HEADRET
MATERIALDOCUMENT = GM_RETMTD
TABLES
GOODSMVT_ITEM = GM_ITEM
RETURN = GM_RETURN.
IF NOT GM_RETMTD IS INITIAL.
COMMIT WORK AND WAIT.
CALL FUNCTION 'DEQUEUE_ALL'.
ELSE.
COMMIT WORK AND WAIT.
CALL FUNCTION 'DEQUEUE_ALL'.
ENDIF.
WRITE:/ GM_RETMTD.
LOOP AT GM_RETURN.
WRITE:/ GM_RETURN.
ENDLOOP. -
please help!!
suppose the requirement is to create a bdc rec in devlopment server.
but after the rec when i try to see the source code by creating a program as the process is.it is asking me for access key.
is there any way to get the source code.
Moderator Message: Please write proper english ( "rec" in your subject line and content ), do not use shorthand abbrevations and contractions.
Message was edited by: Kesavadas ThekkillathHi,
Even If you have created the correct BDC (z) and then clicked on program tab. Then you have to write the program name in which you want to transfer the code. You program name must start with Z. Please check again.
Regards
Purnand
Maybe you are looking for
-
Importing RAW file in Mac OS X 10.10.3 using Photos
I am hoping someone who has been using Photos for Mac OS X has figured out where the RAW files are stored in Photos. Basically, the following are problems that am facing; My RAW files are not appearing in Photos program on both my iMac and MBP. I ne
-
Divx web player won't show me any player controls.
I recently reinstalled divx on my macbook and now for some reason when i am streaming a divx video in safari there are no player controls. The video plays fine and when i double click, it was go to fullscreen. But it doesnt pause even when i push spa
-
2.1 RC1 Dbms Output not working
I don't know if this is new, or an existing bug from the EA releases (saw a couple threads in regards to dbms_output). I don't seem to be catching any results in the Dbms Output window. Even for something as simple as this run as a statement or scrip
-
Custom cookie cutter shape install in PSE 11?
I need some help. I've spent 2 hours online and I can't find an answer. I need a cookie cutter of a full bow tie. Not the outline one like the one tha's pre-installed in PSE shapes/cookie cutter. 1. How/where do I look for more cookie cutter shapes?
-
WVC80N Linksys Cam does not recognize MAC Time Capsule router
I cannot get the linksys cam to work with Apple Time capsule. I do have a linksys router (WRT160n) and tried to feed off the time capsule but no luck. Does mac make a web cam?