3 weeks ago - last edited 3 weeks ago
I have issue when run BDC F-44 clearing partial vendor. When i run program with 4 dismode, it will occur 2 case:
1. with
Dismodde: E or A
updmode: L
racommit and defsize : X
it will run and create a FI document with doc type is clearing
2. with:
Dismodde: P or N
updmode: L
racommit and defsize : X
it will inform me that Field DF05B-PSZAH(X) is not an input field
Can people help me fix my error?
Thank you,
Here is BDC
SAPMF05A | 131 | X | ||
0 | BDC_CURSOR | RF05A-AGUMS | ||
0 | BDC_OKCODE | /00 | ||
0 | RF05A-AGKON | 1000258 | ||
0 | BKPF-BUDAT | 07.11.2024 | ||
0 | BKPF-MONAT | 11 | ||
0 | BKPF-BUKRS | 2A00 | ||
0 | BKPF-WAERS | VND | ||
0 | RF05A-AGUMS | abcdtv | ||
0 | RF05A-XNOPS | X | ||
SAPDF05X | 3100 | X | ||
0 | BDC_OKCODE | =PART | ||
0 | BDC_SUBSCR | SAPDF05X 6102PAGE | ||
0 | BDC_CURSOR | DF05B-PSSKT(01) | ||
0 | RF05A-ABPOS | 1 | ||
SAPDF05X | 3100 | X | ||
0 | BDC_OKCODE | =PART | ||
0 | BDC_SUBSCR | SAPDF05X 6104PAGE | ||
0 | BDC_CURSOR | DF05B-PSSKT(01) | ||
0 | RF05A-ABPOS | 1 | ||
SAPDF05X | 3100 | X | ||
0 | BDC_OKCODE | =PI | ||
0 | BDC_SUBSCR | SAPDF05X 6104PAGE | ||
0 | BDC_CURSOR | DF05B-PSBET(01) | ||
0 | RF05A-ABPOS | 1 | ||
SAPDF05X | 3100 | X | ||
0 | BDC_OKCODE | /00 | ||
0 | BDC_SUBSCR | SAPDF05X 6104PAGE | ||
0 | BDC_CURSOR | DF05B-PSZAH(01) | ||
0 | RF05A-ABPOS | 1 | ||
0 | DF05B-PSZAH(01) | 100000.00- | ||
SAPDF05X | 3100 | X | ||
0 | BDC_OKCODE | =PI | ||
0 | BDC_SUBSCR | SAPDF05X 6104PAGE | ||
0 | BDC_CURSOR | DF05B-PSBET(04) | ||
0 | RF05A-ABPOS | 1 | ||
SAPDF05X | 3100 | X | ||
0 | BDC_OKCODE | /00 | ||
0 | BDC_SUBSCR | SAPDF05X 6104PAGE | ||
0 | BDC_CURSOR | DF05B-PSZAH(04) | ||
0 | RF05A-ABPOS | 1 | ||
0 | DF05B-PSZAH(04) | 100000 | ||
SAPDF05X | 3100 | X | ||
0 | BDC_OKCODE | =BS | ||
0 | BDC_SUBSCR | SAPDF05X 6104PAGE | ||
0 | BDC_CURSOR | DF05B-PSZAH(04) | ||
0 | RF05A-ABPOS | 1 | ||
SAPMF05A | 700 | X | ||
0 | BDC_OKCODE | /00 | ||
0 | BKPF-XBLNR | DNHU/24/11/0009 | ||
0 | BKPF-BKTXT | |||
0 | BKPF-VATDATE | 08.11.2024 | ||
SAPMF05A | 700 | X | ||
0 | BDC_CURSOR | RF05A-NEWBS | ||
0 | BDC_OKCODE | =BU | ||
0 | BKPF-XBLNR | DNHU/24/11/0009 | ||
0 | BKPF-BKTXT |
3 weeks ago
Note that you have colored in red the wrong line (positioning the cursor is permitted for non-input fields). The one which produces the error is the one which enters the value 100000.00-.
3 weeks ago
3 weeks ago
If you run in mode 'E', does it display a screen? If yes, it means that there is an error in the screen that you can bypass by pressing Enter. You will also get this error in modes N and P but that will cancel the execution instead of bypassing the error. In all cases, you have to check why the field is protected against input.
3 weeks ago
When i run mode 'E', it does not show error and it will create FI doc, Not problem.
3 weeks ago
I guess that it's due to an intermittent COMMIT WORK which stops the Batch Input in mode N if you don't run it via CALL TRANSACTION ... OPTIONS FROM ctu_params with CTU_PARAMS-RACOMMIT = 'X'.
3 weeks ago
Can you recommend resolution to fix it? I need posting FI Clearing partial payment
3 weeks ago
run it via CALL TRANSACTION ... OPTIONS FROM ctu_params with CTU_PARAMS-RACOMMIT = 'X'.
3 weeks ago
Yes, I running code CTU_PARAMS-RACOMMIT = 'X'. => issue is happened. But I also recorded BDC in SHDB after I run it with mode 'N' it also error.
3 weeks ago
Are you sure you are running with the mode 'E' and 'N' exactly the same way? (both in dialog, same user, same system, same client, etc.)
To make 'E' and 'N' work the same, also use CTU_PARAMS-DEFSIZE = 'X' (by default, the 'E' mode runs with ' ' while the 'N' mode runs with 'X').
If it still doesn't work, then the only reason I know is that the SAP standard programs behind F-44 are calling BDC_RUNNING to detect whether it's using 'E' or 'N' and behave differently.
NB: just test your program (with CALL TRANSACTION USING), don't test with SHDB, they behave a little bit differently (e.g. SHDB is using CTU_PARAMS-RACOMMIT = ' ', etc.)
3 weeks ago
Exactly, I have tested with program with all mode and DEFSIZE = 'X' and result final also same. That is my issue so i must post question. I also think that " F-44 are calling BDC_RUNNING to detect whether it's using 'E' or 'N' and behave differently."
thank you,
3 weeks ago
3 weeks ago
3 weeks ago
Add a breakpoint at the start of the function module BDC_RUNNING and run your program. Does F-44 call BDC_RUNNING?
3 weeks ago
3 weeks ago
I need to rephase again because you are not clear. Are you saying that somewhere inside F-44, one standard SAP program is calling the function module BDC_RUNNING?
If yes, then please debug to see if it impacts the screen logic, or if you don't know how to do it, tell us how to debug (provide the ABAP Call Stack corresponding to the moment when the function module BDC_RUNNING is called).
3 weeks ago
Ok, sir. I need searching debug function module BDC_RUNNING, and will inform to you as soon as. Exactly, I don't know "provide the ABAP Call Stack corresponding to the moment when the function module BDC_RUNNING is called"
3 weeks ago
Search the Web: how to see the ABAP Call Stack via the ABAP debugger
3 weeks ago
check the field status group associated with the account to ensure it allows input for this field. Looks like it is display only.
3 weeks ago
When i run with mode 'A', Field fielded, not raise error. That is crazy.
3 weeks ago - last edited 3 weeks ago
I solved, I have create new record BDC F-44 with clearing partial vendor with number FI document, this is change solution. It will restrict issue and I can run it with display mode = 'N'. With current issue, I am interested in exploring BDCs and call transactions further to gain a more comprehensive understanding.
Thank you.