on 09-17-2007 12:17 PM
Hello,
We're implementing SAP ECC 6.0.
I need substitution de field BSEG-KOSTL in the transaction FB01.
I use the routine ZRGGBS000/point 3.
¿This is a modify field?
I modify other field correctly, but when i assign a value to cost center, the system show a short dump:
Anál.errores
Short text of error message:
Error GENERAL_ERROR MESSAGES_ACTIVE_REQUIRED
Long text of error message:
Diagnóstico
Se produjo el siguiente error de programa o de tratamiento.
Imformaciones de error:
GENERAL_ERROR
MESSAGES_ACTIVE_REQUIRED
Actividades en el sistema
No se puede proceder el programa.
Procedimiento
Si Ud. mismo no puede resolver el programa con ayuda de las
informaciones de error, apúntelas igual que las entradas que han
conducido a este error. Diríjase por favor a su administrador de
SAP para tratar el problema.
Technical information about the message:
Message class....... "K5"
Number.............. 011
Variable 1.......... "GENERAL_ERROR"
Variable 2.......... "MESSAGES_ACTIVE_REQUIRED"
Variable 3.......... " "
Variable 4.......... " "
Help me please.
Hi David,
call-up point 3 is "Complete document". This requires some specific syntax to be followed when defining the form in the Z* form pool. First, the exit must have type "C_EXIT_PARAM_CLASS", second, the particular form Uxxx must be defined like this: "USING bool_data TYPE gb002_015".
Second, when defining the substitution step in OBBH, some fields should be available for substitution. Note that by default, none or only a very limited number of fields are available for substitution in call-up point 3. Pls. check this in your system as follows: go to OBBH, maintain the existing substitution (or create a new one) for call up point 3 and try to add a new step. Is the cost center field offered for substitution? If yes, leave OBBH without saving. If not, do the same, but then we have found the root cause.
If the Cost center field is available, and the complete environment (OBBH and Z* form pool) are set up correctly, then the issue might be that you substitute the Cost center field where you really should not. Is it a balance sheet account, for instance? I think your substituted cost center is leading to some inconsistency and that's why SAP is not recommending to substitute fields at this call-up point.
If you think that the setup is correct and still you get the error, you should provide some more information on the line item(s) you want to substitute your CC into. By the way, what is the prerequisite of the substitution step?
Hope that helps, points welcome
Csaba
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Csaba,
In the transaction OBBH, in the tables BKPFy BSEG for the boolean class 15, the field exclude is empty.
The prerequisite is empty. I use a EXIT to verify the requirements, this is the code of the EXIT:
exits-name = 'U900'.
exits-param = c_exit_param_class.
exits-title = text-103.
APPEND exits.
......
FORM u900 USING bool_data TYPE gb002_015.
DATA: lc_gsber LIKE bseg-gsber.
IF sy-tcode+0(1) = 'F' AND sy-tcode+2(2) = '01'.
LOOP AT bool_data-bseg INTO bseg.
IF bseg-buzei = '001'.
MOVE bseg-gsber TO lc_gsber.
ENDIF.
IF bseg-kostl IS INITIAL.
IF bseg-gsber IS INITIAL.
bseg-kostl = lc_gsber.
bseg-gsber = lc_gsber.
ELSE.
bseg-kostl = bseg-gsber.
ENDIF.
MODIFY bool_data-bseg FROM bseg.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. "U900
The field BSEG-GSBER is updated correctly, but I update field BSEG-KOSTL shows a short dump.
Message was edited by:
David MG
Hi,
you mean table GB01, field BEXCLUDE is empty?
Well, the form seems to be correct syntactically. Only very strange things is that, if the current line item does not contain any cost center, then you are moving the business area (gsber) from line item 1 into the cost center (kostl) field. Is this really what you want to do???
Some doubts against this:
1. Business area is 4 character, CC is 10 character. A MOVE is possible, but usually, you have only a few business areas while PLENTY of cost centers. So it is very likely that the value in BSEG-GSBER is not a valid cost center.
2. This substitution takes place for ALL items in any document posted with transaction Fx01. Well, what if this item is a vendor item? You cannot enter a cost center for a vendor line. Field status settings may prevent you from doing so, but also the business logic is weird, as the vendor line is a balance sheet account, but a cost center account assignment would implicate a P/L account. You really should substitute the cost center if you are sure that this is a P/L account. Having a look at this source code, this is not sure here at all. (You may have entered something for the prerequisite in OBBH, but I hardly believe you make the necessary restrictions).
Hope that helps, points welcome
Csaba
Hi,
I change the code for not assigned the cost center to vendor line, because he was not correct.
In the boolean class 15 in table gb01, the field exclude is empty for the tables BKPF and BSEG, for substitution & for rules and conditions.
My code now is:
FORM u900 USING bool_data TYPE gb002_015.
DATA: lc_gsber LIKE bseg-gsber.
DATA: lc_kostl LIKE bseg-kostl.
IF sy-tcode+0(1) = 'F' AND sy-tcode+2(2) = '01'.
LOOP AT bool_data-bseg INTO bseg.
IF bseg-buzei = '001'.
MOVE bseg-gsber TO lc_gsber.
* MOVE bseg-gsber TO lc_kostl.
lc_kostl = '364'.
ELSE.
IF bseg-kostl IS INITIAL.
IF bseg-gsber IS INITIAL.
bseg-kostl = lc_kostl.
bseg-gsber = lc_gsber.
ELSE.
bseg-kostl = lc_kostl.
ENDIF.
MODIFY bool_data-bseg FROM bseg.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. "U900
The cost center "364" exists.
But the short dump it follows.
¿That I can do? Yes i comment the assign to field Kostl, the program modify the GSBER correctly.
Message was edited by:
David MG
The cost center exist with the code 364... but if i entry '0000000364' this result is the same.
I am implementing SAP ECC6 from zero, that parameter of the system can have to do with this DUMP that leaves.
Somebody gives some alternative me.
This is the short dump:
Err.tmpo.ejec. MESSAGE_TYPE_X
Fecha y hora 18.09.2007 08:55:46
Texto breve
The current application triggered a termination with a short dump.
¿Qué ha sucedido?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).
Anál.errores
Short text of error message:
Error GENERAL_ERROR MESSAGES_ACTIVE_REQUIRED
Long text of error message:
Diagnóstico
Se produjo el siguiente error de programa o de tratamiento.
Imformaciones de error:
GENERAL_ERROR
MESSAGES_ACTIVE_REQUIRED
Actividades en el sistema
No se puede proceder el programa.
Procedimiento
Si Ud. mismo no puede resolver el programa con ayuda de las
informaciones de error, apúntelas igual que las entradas que han
conducido a este error. Diríjase por favor a su administrador de
SAP para tratar el problema.
Technical information about the message:
Message class....... "K5"
Number.............. 011
Variable 1.......... "GENERAL_ERROR"
Variable 2.......... "MESSAGES_ACTIVE_REQUIRED"
Variable 3.......... " "
Variable 4.......... " "
Posición desencadenante de error tiempo ejecución
Programa SAPLKAID
Include LKAIDF0B
Línea 28
Tp.módulo (FORM)
Nombre módulo MESSAGE_SEND
Detalle código fuente
Lín. Txt.fte.
1 *-------------------------------------------------------------------
2 ***INCLUDE LKAIDF02 .
3 *-------------------------------------------------------------------
4 *&---------------------------------------------------------------------*
5 *& Form MESSAGE_SEND
6 *&---------------------------------------------------------------------*
7 * text *
8 *----------------------------------------------------------------------*
9 * --> p1 text
10 * <-- p2 text
11 *----------------------------------------------------------------------*
12 FORM MESSAGE_SEND
13 USING MS_ARBGB LIKE SY-MSGID
14 MS_MSGTY LIKE SY-MSGTY
15 MS_TXTNR LIKE SY-MSGNO
16 MS_MSGV1 TYPE ANY
17 MS_MSGV2 TYPE ANY
18 MS_MSGV3 TYPE ANY
19 MS_MSGV4 TYPE ANY.
20
21 DATA: LD_TXTNR LIKE MESG-TXTNR.
22
23 PERFORM TRACE_MESSAGE_STORE(SAPLKAIPTRACE)
24 USING GD_SORT_MSG MS_ARBGB MS_MSGTY MS_TXTNR
25 MS_MSGV1 MS_MSGV2 MS_MSGV3 MS_MSGV4.
26
27 IF MS_MSGTY = 'X'.
>>>>> MESSAGE ID MS_ARBGB TYPE MS_MSGTY NUMBER MS_TXTNR
29 WITH MS_MSGV1 MS_MSGV2 MS_MSGV3 MS_MSGV4.
30 ENDIF.
31 LD_TXTNR = MS_TXTNR.
32 CALL FUNCTION 'MESSAGE_STORE'
33 EXPORTING
34 MSGTY = MS_MSGTY
35 MSGV1 = MS_MSGV1
36 MSGV2 = MS_MSGV2
37 MSGV3 = MS_MSGV3
38 MSGV4 = MS_MSGV4
39 ARBGB = MS_ARBGB
40 TXTNR = LD_TXTNR
41 ZEILE = GD_SORT_MSG
42 EXCEPTION_IF_NOT_ACTIVE = SPACE.
43
44 ENDFORM. " MESSAGE_SEND
Help me.
Also it is possible that, especially after an upgrade, you may have the proper GB01 entries and you may have the substitution set up in OBBH, but still the environment is faulty regarding the ability to substitute those fields. You can give it a try and run RGUGBR00 and see if the dump still about to come.
Hope that helps, points welcome
Csaba
I used the program RGUGBR00 for validations. All the controls are correct and it does not leave any dump in this program
In the program RGUGBS00, single fault when I modify the cost center (BSEG-KOSTL) leaves the DUMP.
I used the cost center '1005' and '000000000000001005', but nothing.
I believe that the problem I can be in some customizing by which the field this blocking.
Hi David,
no, RGUGBR00 is not used for validations. You may mix it with RGGBR000 (sample exit formpool for validations) and RGGBS000 (sample formpool for substitutions).
RGUGBR00 is something else, it is an executable program, while RGGBR000 and RGGBS000 are module pools and as such, they cannot be executed directly.
Hope that helps, points welcome
Csaba
Hm,
could you explain the business requirement behind this one.
The leading zeros may indeed be a problem, you have to make sure the field has the exact length of 10 digits. DO not include too many (or too few) zeros.
It would be also of advantage if you could set a break point on the statement where you populate the field. When stopped, then check the GL account in COBL-HKONT. Make sure it is valid a cost element (check in transaction KA03, beware the controlling area, the CE category should be 1), If it is not a cost element, then check out table T100C, whether the message KI 281 is switched off. (This message says that you should not enter any cost center when posting to a balance sheet account).
Hope that helps, points welcome
Csaba
Hi,
The K5 message is a standard Controlling area, you have the values in your substitution but perhaps you have filled in a wrong field.
In the menu path you have the option Simulate and trace. You can please a break-point in your substutution and have a look to the incoming and out going data if a field value is wrong
Paul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
99 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.