2007 Dec 27 4:53 AM
Hello,
I want to use batch input for the transaction MB1B.
I already used the batch input recorder to get the right fieldnames and values.
My problem is that the ok_codes seems not to be used.
I just want to skip the first screen and enter in the second one only materials and batch no via batch input (I already have these data in an internal table) - so on the second screen (0421) the user should enter the quantity for each single line at the end.
My coding is following:
*perform oben using 'SAPLMM07M' '0400' 'X'.
*perform unten using 'BDC_CURSOR' 'RM07M-LGORT'.
*perform unten using 'BDC_OKCODE' '/00'.
*perform unten using 'MKPF-BLDAT' '27.12.2007'.
*perform unten using 'MKPF-BUDAT' '27.12.2007'.
*perform unten using 'RM07M-BWARTWA' '311'.
*perform unten using 'RM07M-WERKS' '1000'.
*perform unten using 'RM07M-LGORT' '1000'.
*perform unten using 'XFULL' 'X'.
*perform unten using 'RM07M-WVERS3' 'X'.
*perform unten using 'RM07M-XNAPR' 'X'.
*
*loop at itab.
*n = n + 1.
*perform oben using 'SAPMM07M' '0421' 'X'.
*perform unten using 'MSEG-MATNR(n)' itab-matnr.
*perform unten using 'mseg-charg(n)' itab-charg.
*
*endloop.
Looks like it is not working properly, it is not continuing after the first screen (0400).
Another question:
Can I use the batch input with this loop???
Thanks for your help,
Christoph
hi,
The first screen generally contains headder data, which you need to give input, it is must. As per my knowledge u can't skip that screen.
2) you can loop like that.
regards,
pavan
2007 Dec 27 5:23 AM
hi,
The first screen generally contains headder data, which you need to give input, it is must. As per my knowledge u can't skip that screen.
2) you can loop like that.
regards,
pavan
2007 Dec 27 5:59 AM
Thanks for your reply,
good to know that I can use this loop in that way. But why, even if I am not trying to skip the first screen, it is not going to the next screen automatically?
This is the code I am using to start the transaction:
call transaction 'MB1B' using bdc mode 'A' update 'S'.
What I am doing wrong?
Thanks,
Christoph
2007 Dec 27 6:23 AM
hi,
make sure that all ok codes are at the end of the screen in recording.
eg)
*perform oben using 'SAPLMM07M' '0400' 'X'.
*perform unten using 'BDC_CURSOR' 'RM07M-LGORT'.
*perform unten using 'BDC_OKCODE' '/00'. This should be
*perform unten using 'MKPF-BLDAT' '27.12.2007'.
*perform unten using 'MKPF-BUDAT' '27.12.2007'.
*perform unten using 'RM07M-BWARTWA' '311'.
*perform unten using 'RM07M-WERKS' '1000'.
*perform unten using 'RM07M-LGORT' '1000'.
*perform unten using 'XFULL' 'X'.
*perform unten using 'RM07M-WVERS3' 'X'.
*perform unten using 'RM07M-XNAPR' 'X'.
*perform unten using 'BDC_OKCODE' '/00'.
still problem exists kindly post the code
regards,
pavan
2007 Dec 27 6:46 AM
I tried this, still not working...
Here is the code - table itab is an internal table with 2 rows (matnr and charg).
perform bdc.
form bdc.
perform oben using 'SAPLMM07M' '0400' 'X'.
perform unten using 'BDC_CURSOR' 'RM07M-LGORT'.
perform unten using 'BDC_OKCODE' '/00'.
perform unten using 'RM07M-BWARTWA' '311'.
perform unten using 'RM07M-WERKS' '1000'.
perform unten using 'RM07M-LGORT' '1000'.
perform unten using 'BDC_OKCODE' '/00'.
perform oben using 'SAPMM07M' '0421' 'X'.
loop at itab.
n = n + 1.
perform unten using 'MSEG-MATNR(n)' itab-matnr.
perform unten using 'mseg-charg(n)' itab-charg.
endloop.
call transaction 'MB1B' using bdc.
endform.
form oben using programm dynpro dynbegin.
bdc-program = programm.
bdc-dynpro = dynpro.
bdc-dynbegin = dynbegin.
bdc-fnam = ''.
bdc-fval = ''.
append bdc.
endform.
form unten using fnam fval.
bdc-program = ''.
bdc-dynpro = ''.
bdc-dynbegin = ''.
bdc-fnam = fnam.
bdc-fval = fval.
append bdc.
endform.
Thanks for your help,
Christoph
It seems like the transaction is called without using the information from bdc table... What I am doing wrong?
Edited by: Christoph Schle on Dec 27, 2007 8:14 AM
2007 Dec 27 7:21 AM
hi
perform bdc.
form bdc.
perform oben using 'SAPLMM07M' '0400' 'X'.
perform unten using 'BDC_CURSOR' 'RM07M-LGORT'.
perform unten using 'BDC_OKCODE' '/00'. delete this one
perform unten using 'RM07M-BWARTWA' '311'.
perform unten using 'RM07M-WERKS' '1000'.
perform unten using 'RM07M-LGORT' '1000'.
perform unten using 'BDC_OKCODE' '/00'.
perform oben using 'SAPMM07M' '0421' 'X'.
loop at itab.
n = n + 1.
perform unten using 'MSEG-MATNR(n)' itab-matnr.
perform unten using 'mseg-charg(n)' itab-charg.
endloop. this is wrong
to achieve the same
loop at itab
perform oben using 'SAPMM07M' '0421' 'X'.
perform unten using 'MSEG-MATNR' itab-matnr.
perform unten using 'mseg-charg' itab-charg.
perform unten using 'BDC_OKCODE' '/00'. Check the Ok code in recordingendloop.
call transaction 'MB1B' using bdc.
endform.
regards,
pavan
Edited by: pavan kumar pisipati on Dec 27, 2007 8:22 AM
2007 Dec 27 8:27 AM
Hi Pavan,
thanks for your replies.
I solved the problem now in a little bit different way, will post the coding here when it is finish.
Thanks a lot for your help and a happy new year!
Christoph
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |