‎2008 Apr 15 2:42 PM
Hi,
I am new to ABAP and I am facing a problem with one of the functional modules I created. This may be simple for you but please help. I have a program that calls this function module. I have a field(routing_number) in the main program that is NUMERIC and 8 digits long that needs to be filled with the output of this functional module.
FUNCTION Z_DMEE_EXIT_ROUTING_NUMBER.
*"----
""Local Interface:
*" IMPORTING
*" VALUE(I_TREE_TYPE) TYPE DMEE_TREETYPE
*" VALUE(I_TREE_ID) TYPE DMEE_TREEID
*" VALUE(I_ITEM)
*" VALUE(I_PARAM)
*" VALUE(I_UPARAM)
*" EXPORTING
*" REFERENCE(O_VALUE)
*" REFERENCE(C_VALUE)
*" REFERENCE(N_VALUE)
*" REFERENCE(P_VALUE)
*" TABLES
*" I_TAB
*"----
DATA: L_ITEM TYPE dmee_paym_if_type,
L_FPAYH TYPE fpayh,
L_ZBNKL TYPE FPAYH-ZBNKL,
L_ROUTE(9) TYPE N.
Build up internal table of payment documents
L_ITEM = I_ITEM.
L_FPAYH = L_ITEM-FPAYH.
write: L_FPAYH-ZBNKL to L_ROUTE(9).
write L_ROUTE+0(8) to O_VALUE.
write L_ROUTE+0(8) to N_VALUE.
write L_ROUTE+0(8) to C_VALUE.
ENDFUNCTION.
The data types of O_VALUE, N_VALUE, C_VALUE AND P_VALUE are
Component Component type Data type
-
-
-
O_VALUE DMEE_MAX_C_ABA CHAR
C_VALUE DMEE_MAX_C_ABA CHAR
N_VALUE DMEE_MAX_N_ABA NUMC
P_VALUE DMEE_P_VALUE_ABA DEC
My question is when I run my main program, the value in the routing_number is showing up as 00000000 instead of the actual routing number that I need (08899387). When I debug the program, I am able to see the values of O_VALUE, N_VALUE and C_VALUE correctly. But this functional module is not able to send this data to the field in the main program.
Is this because of the data type mismatch? If so, how do I need to correct this?
Thanks,
Nile
Points will be awarded.
‎2008 Apr 15 2:50 PM
Hi Nile,
plz lemme know the values that you are able to see in the variables O_VALUE, N_VALUE, C_VALUE AND P_VALUE.
If all of them hold the same value and if you require them to be passed to any other variable it shouldn't be a big task.
if you are required to concatenate them and populate the new numeric value, then declare a new character type variable of length 8 and use that in getting the result of concatenation. now move the value of this new variable to ur numeric variable.
Revert back in need of more clarification.
Reward points if you think this helped,
Kiran
‎2008 Apr 15 2:50 PM
Hi Nile,
plz lemme know the values that you are able to see in the variables O_VALUE, N_VALUE, C_VALUE AND P_VALUE.
If all of them hold the same value and if you require them to be passed to any other variable it shouldn't be a big task.
if you are required to concatenate them and populate the new numeric value, then declare a new character type variable of length 8 and use that in getting the result of concatenation. now move the value of this new variable to ur numeric variable.
Revert back in need of more clarification.
Reward points if you think this helped,
Kiran
‎2008 Apr 15 3:23 PM
I see the value 08899387 for O_VALUE, C_VALUE and N_VALUE when I am in debug mode. After finishing debugging and the output is created, the output is shown as 00000000 for the field (routing_number).
When you say "now move the value of this new variable to ur numeric variable" - how do you do that?
Thanks,
Nile