Problem with CIC0 transaction OK codes
Hi Experts,
We are using CIC0 transaction in CRM 3.1 system. As you know there is a button "Reset all fields" ( the one with a crooked arrow sign ) which is used to reset all the fields before entering the next business partner. This button is not working consistently. In my system, I am getting an OK CODE of "%_GC 117 1" when I click this button. But, when the actual user ( who is in a geographically different location ) clicks this button, he gets an OK CODE of "CSEARCH_DELETE". As a reslut I am not able to provide some functionality the user asked for. I checked the SAP GUI version, Patch Level, OS Version, and IE version and settings. There is no difference in these between my PC and user's PC. What could be the problem ? Is it due to some problem with BSP ? Please advise.
Regards,
Sameej T.K.
OK CODE? Hmmmm... are you sure that BSP even in sight of transaction CICO, the one with the crooked behaviour? No ideas. This does not sound like BSP.
But if you feel like experimenting, check whether it is language dependent (EN vs DE). This is just wild shot over my shoulder as I exit stage right.
Similar Messages
-
unable to update itunes. help. error message when trying to update to latest version of itunes. "the installer has encountered an unexpected error installing this package. this may indicate a problem with this package. error code 2721"
Hello chae84swangin,
I recommend following the steps in the article below when getting an error message trying to install iTunes:
Trouble installing iTunes or QuickTime for Windows
http://support.apple.com/kb/HT1926
Thank you for using Apple Support Communities.
Best,
Sheila M. -
I am trying to get the free trial to cc but it said there seems to be a problem with the files (Error code: 205) please help
BOILERPLATE TEXT:
Note that this is boilerplate text.
If you give complete and detailed information about your setup and the issue at hand,
such as your platform (Mac or Win),
exact versions of your OS, of Photoshop (not just "CS6", but something like CS6v.13.0.6) and of Bridge,
your settings in Photoshop > Preference > Performance
the type of file you were working on,
machine specs, such as total installed RAM, scratch file HDs, total available HD space, video card specs, including total VRAM installed,
what troubleshooting steps you have taken so far,
what error message(s) you receive,
if having issues opening raw files also the exact camera make and model that generated them,
if you're having printing issues, indicate the exact make and model of your printer, paper size, image dimensions in pixels (so many pixels wide by so many pixels high). if going through a RIP, specify that too.
etc.,
someone may be able to help you (not necessarily this poster, who is not a Windows user).
a screen shot of your settings or of the image could be very helpful too.
Please read this FAQ for advice on how to ask your questions correctly for quicker and better answers:
http://forums.adobe.com/thread/419981?tstart=0
Thanks! -
I have a problem with the transaction CBIH82
Hi experts,
I have a problem with the transaction CBIH82, when I try to assign a team in the tab "EventLocation", the transaction sends me the message "Equipment not available at the functional location".
I previously reviewed the equipment is assigned to the transaction IL03.
No authorization errors, I checked with the transaction SU53.
Any idea to solve this problem?
I appreciate it.Hello,
I happened to again see this post where question is yet to be answered.
As per SAP standard design, only those equipment would be allowed which are directly installed on the functional location. What this means is that those equipment which are not directly assigned to the functional location (might be assigned to another superior equipment which in turn is assigned to the functional location) can't be saved.
Now, I am not sure why SAP has kept it like this when the same is allowed in notification.
Can somebody clarify the business relevance of this standard behavior??
Regards,
Pavan -
Problem with Call Transaction opt-RACOMMIT = 'X'.
Hello Experts
I am having a problem with call transction. I am calling a Z transaction in function module. Within the Z transaction I am furhter calling some function modules and doing commit work and then some more processing after the comit work inside So to make sure the code after comit work is fired I am using opt-RACOMMIT = 'X' in call transaction. Whenever I set this parameter opt-RACOMMIT = 'X' call transaction fails and gives error saying No batch Input data for screen XXXX. However the Z tcode processed succesfully.
By changing the Mode to E i found that it remians at the last screen of call transction after executing the Z transaction and never comes back
But if I donot use RACOMMIT = 'X' everything is fine. Please let me know if anyone came across such problem. Any help will be apreciated.
Thanks,
kamalHello,
as you said, if there is more than commit statement in your ztransaction, then you should put RACOMMIT to 'X'.
I think the problem is in your bdcdata: change it to be sure to get back to the 1st screen of your ztransaction. Then, at this point (1st screen) hit "back" button.
Cordialement,
Chaouki -
Problem with performance in a code.
Hi People! I have problems with the performance of this program. The tables that I use have much data and the program take two hours to finish.
Please, some one tell me how can I make a better performance.
Thanks!
This is the program:
TABLES:
faglflext, "Saldos mensuales por cta.
contable y prf center.
zavg_bal_table,
skat. "Chart of accounts
********************INTERNAL TABLE DEFINITION***************************
DATA: BEGIN OF t_itab1 OCCURS 0.
DATA: rbukrs TYPE faglflext-rbukrs. "Company Code
DATA: racct TYPE faglflext-racct. "Account ID
DATA: prctr TYPE faglflext-prctr. "Profit Center
DATA: kslvt TYPE faglflext-kslvt. "Total of the period in group currency
DATA: ksl01 TYPE faglflext-ksl01. "Total of the period in group currency
DATA: ksl02 TYPE faglflext-ksl02. "Total of the period in group currency
DATA: ksl03 TYPE faglflext-ksl03. "Total of the period in group currency
DATA: ksl04 TYPE faglflext-ksl04. "Total of the period in group currency
DATA: ksl05 TYPE faglflext-ksl05. "Total of the period in group currency
DATA: ksl06 TYPE faglflext-ksl06. "Total of the period in group currency
DATA: ksl07 TYPE faglflext-ksl07. "Total of the period in group currency
DATA: ksl08 TYPE faglflext-ksl08. "Total of the period in group currency
DATA: ksl09 TYPE faglflext-ksl09. "Total of the period in group currency
DATA: ksl10 TYPE faglflext-ksl10. "Total of the period in group currency
DATA: ksl11 TYPE faglflext-ksl11. "Total of the period in group currency
DATA: ksl12 TYPE faglflext-ksl12. "Total of the period in group currency
DATA: ksl13 TYPE faglflext-ksl13. "Total of the period in group currency
DATA: ksl14 TYPE faglflext-ksl14. "Total of the period in group currency
DATA: ksl15 TYPE faglflext-ksl15. "Total of the period in group currency
DATA: ksl16 TYPE faglflext-ksl16. "Total of the period in group currency
DATA: rldnr TYPE faglflext-rldnr. "Ledger in GL Accounting
DATA: rtcur TYPE faglflext-rtcur. "Currency Key
DATA: txt20 TYPE skat-txt20. "Description Text
DATA: saknr TYPE skat-saknr. "G/L account number
DATA: ktopl TYPE skat-ktopl. "Chart of Accounts
DATA: rpmax TYPE faglflext-rpmax. "Period
DATA: total_sum LIKE faglflext-ksl01. "Amount of the first month
DATA: ryear LIKE faglflext-ryear. "Fiscal Year
DATA: year LIKE faglflext-ryear. "Past Year
DATA: day_a TYPE sy-datum.
DATA: per_day TYPE rr_umper.
DATA: average TYPE vtcur12.
DATA: agregate TYPE vtcur12.
DATA: accumulate TYPE vtcur12.
DATA: average_sap TYPE rr_umper.
DATA: END OF t_itab1.
DATA: BEGIN OF t_itab2 OCCURS 0.
DATA: rbukrs TYPE faglflext-rbukrs. "Company Code
DATA: racct TYPE faglflext-racct. "Account ID
DATA: prctr TYPE faglflext-prctr. "Profit Center
DATA: kslvt TYPE faglflext-kslvt. "Total of the period in group currency
DATA: ksl01 TYPE faglflext-ksl01. "Total of the period in group currency
DATA: ksl02 TYPE faglflext-ksl02. "Total of the period in group currency
DATA: ksl03 TYPE faglflext-ksl03. "Total of the period in group currency
DATA: ksl04 TYPE faglflext-ksl04. "Total of the period in group currency
DATA: ksl05 TYPE faglflext-ksl05. "Total of the period in group currency
DATA: ksl06 TYPE faglflext-ksl06. "Total of the period in group currency
DATA: ksl07 TYPE faglflext-ksl07. "Total of the period in group currency
DATA: ksl08 TYPE faglflext-ksl08. "Total of the period in group currency
DATA: ksl09 TYPE faglflext-ksl09. "Total of the period in group currency
DATA: ksl10 TYPE faglflext-ksl10. "Total of the period in group currency
DATA: ksl11 TYPE faglflext-ksl11. "Total of the period in group currency
DATA: ksl12 TYPE faglflext-ksl12. "Total of the period in group currency
DATA: ksl13 TYPE faglflext-ksl13. "Total of the period in group currency
DATA: ksl14 TYPE faglflext-ksl14. "Total of the period in group currency
DATA: ksl15 TYPE faglflext-ksl15. "Total of the period in group currency
DATA: ksl16 TYPE faglflext-ksl16. "Total of the period in group currency
DATA: rldnr TYPE faglflext-rldnr. "Ledger in GL Accounting
DATA: rtcur TYPE faglflext-rtcur. "Currency Key
DATA: txt20 TYPE skat-txt20. "Description Text
DATA: saknr TYPE skat-saknr. "G/L account number
DATA: ktopl TYPE skat-ktopl. "Chart of Accounts
DATA: rpmax TYPE faglflext-rpmax. "Period
DATA: total_sum LIKE faglflext-ksl01. "Amount of the first month
DATA: ryear LIKE faglflext-ryear. "Fiscal Year
DATA: year LIKE faglflext-ryear. "Past Year
DATA: END OF t_itab2.
DATA: BEGIN OF t_zavg OCCURS 0.
DATA: bukrs TYPE bukrs.
DATA: racct TYPE racct.
DATA: prctr TYPE prctr.
DATA: day_a TYPE sy-datum.
DATA: per_day TYPE rr_umper.
DATA: average TYPE vtcur12.
DATA: agregate TYPE vtcur12.
DATA: accumulate TYPE vtcur12.
DATA: average_sap TYPE rr_umper.
DATA: END OF t_zavg.
DATA: BEGIN OF t_zavg2 OCCURS 0.
DATA: day_a TYPE sy-datum.
DATA: racct TYPE racct.
DATA: prctr TYPE prctr.
DATA: per_day TYPE rr_umper.
DATA: average TYPE vtcur12.
DATA: agregate TYPE vtcur12.
DATA: accumulate TYPE vtcur12.
DATA: average_sap TYPE rr_umper.
DATA: END OF t_zavg2.
* Variable definition *
DATA: balance_month_01 LIKE faglflext-ksl01.
DATA: balance_month_02 LIKE faglflext-ksl01.
DATA: balance_month_03 LIKE faglflext-ksl01.
DATA: balance_month_04 LIKE faglflext-ksl01.
DATA: balance_month_05 LIKE faglflext-ksl01.
DATA: balance_month_06 LIKE faglflext-ksl01.
DATA: balance_month_07 LIKE faglflext-ksl01.
DATA: balance_month_08 LIKE faglflext-ksl01.
DATA: balance_month_09 LIKE faglflext-ksl01.
DATA: balance_month_10 LIKE faglflext-ksl01.
DATA: balance_month_11 LIKE faglflext-ksl01.
DATA: balance_month_12 LIKE faglflext-ksl01.
DATA: balance_month_13 LIKE faglflext-ksl01.
DATA: current_average_balance LIKE zavg_bal_table-average.
DATA: current_balance LIKE faglflext-ksl01.
DATA: current_activity_balance LIKE faglflext-ksl01.
DATA: current_aggregate_balance LIKE zavg_bal_table-agregate.
DATA: average_balance_ytd LIKE zfintbco0001-period_avg_12.
DATA: count TYPE i.
DATA: wa_itab LIKE LINE OF t_itab1.
DATA: wa_low LIKE LINE OF t_itab1.
DATA: wa_high LIKE LINE OF t_itab1.
DATA: wa_itab2 LIKE LINE OF t_itab2.
DATA: wa_zavg2 LIKE LINE OF t_zavg2.
DATA: wa_zavg LIKE LINE OF t_zavg.
DATA: t_acum TYPE i.
DATA: companycode TYPE faglflext-rbukrs.
DATA: descripcion TYPE skat-txt20.
DATA: oref TYPE REF TO cx_root,
emsg TYPE zedesc,
param1 TYPE zparm,
parm1 TYPE zparm.
DATA: avg1 TYPE faglflext-ksl01. "AVG = AVERAGE
DATA: avg2 TYPE faglflext-ksl01.
DATA: avg3 TYPE faglflext-ksl01.
DATA: avg4 TYPE faglflext-ksl01.
DATA: avg5 TYPE faglflext-ksl01.
DATA: avg6 TYPE faglflext-ksl01.
DATA: avg7 TYPE faglflext-ksl01.
DATA: avg8 TYPE faglflext-ksl01.
DATA: avg9 TYPE faglflext-ksl01.
DATA: avg10 TYPE faglflext-ksl01.
DATA: avg11 TYPE faglflext-ksl01.
DATA: avg12 TYPE faglflext-ksl01.
DATA: conteo TYPE i.
DATA: conteo2 TYPE i.
DATA: numerocta TYPE faglflext-racct.
DATA: profitcenter TYPE faglflext-prctr.
DATA: average_month_01 TYPE zavg_bal_table-average.
DATA: aggregate_month_01 TYPE zavg_bal_table-agregate.
DATA: average_month_02 TYPE zavg_bal_table-average.
DATA: aggregate_month_02 TYPE zavg_bal_table-agregate.
DATA: average_month_03 TYPE zavg_bal_table-average.
DATA: aggregate_month_03 TYPE zavg_bal_table-agregate.
DATA: average_month_04 TYPE zavg_bal_table-average.
DATA: aggregate_month_04 TYPE zavg_bal_table-agregate.
DATA: average_month_05 TYPE zavg_bal_table-average.
DATA: aggregate_month_05 TYPE zavg_bal_table-agregate.
DATA: average_month_06 TYPE zavg_bal_table-average.
DATA: aggregate_month_06 TYPE zavg_bal_table-agregate.
DATA: average_month_07 TYPE zavg_bal_table-average.
DATA: aggregate_month_07 TYPE zavg_bal_table-agregate.
DATA: average_month_08 TYPE zavg_bal_table-average.
DATA: aggregate_month_08 TYPE zavg_bal_table-agregate.
DATA: average_month_09 TYPE zavg_bal_table-average.
DATA: aggregate_month_09 TYPE zavg_bal_table-agregate.
DATA: average_month_10 TYPE zavg_bal_table-average.
DATA: aggregate_month_10 TYPE zavg_bal_table-agregate.
DATA: average_month_11 TYPE zavg_bal_table-average.
DATA: aggregate_month_11 TYPE zavg_bal_table-agregate.
DATA: average_month_12 TYPE zavg_bal_table-average.
DATA: aggregate_month_12 TYPE zavg_bal_table-agregate.
DATA: ano TYPE i.
DATA: ano_pasado TYPE i.
DATA: ano_corriente TYPE i.
DATA: mesdia TYPE adb_pfrom.
DATA: firstline TYPE i.
DATA: kslvt TYPE faglflext-kslvt.
DATA: ksl01 TYPE faglflext-ksl01.
DATA: ksl02 TYPE faglflext-ksl02.
DATA: ksl03 TYPE faglflext-ksl03.
DATA: ksl04 TYPE faglflext-ksl04.
DATA: ksl05 TYPE faglflext-ksl05.
DATA: ksl06 TYPE faglflext-ksl06.
DATA: ksl07 TYPE faglflext-ksl07.
DATA: ksl08 TYPE faglflext-ksl08.
DATA: ksl09 TYPE faglflext-ksl09.
DATA: ksl10 TYPE faglflext-ksl10.
DATA: ksl11 TYPE faglflext-ksl11.
DATA: ksl12 TYPE faglflext-ksl12.
DATA: ksl13 TYPE faglflext-ksl13.
DATA: ksl14 TYPE faglflext-ksl14.
DATA: ksl15 TYPE faglflext-ksl15.
DATA: ksl16 TYPE faglflext-ksl16.
DATA: itab_kslvt TYPE faglflext-kslvt.
DATA: itab_ksl01 TYPE faglflext-ksl01.
DATA: itab_ksl02 TYPE faglflext-ksl02.
DATA: itab_ksl03 TYPE faglflext-ksl03.
DATA: itab_ksl04 TYPE faglflext-ksl04.
DATA: itab_ksl05 TYPE faglflext-ksl05.
DATA: itab_ksl06 TYPE faglflext-ksl06.
DATA: itab_ksl07 TYPE faglflext-ksl07.
DATA: itab_ksl08 TYPE faglflext-ksl08.
DATA: itab_ksl09 TYPE faglflext-ksl09.
DATA: itab_ksl10 TYPE faglflext-ksl10.
DATA: itab_ksl11 TYPE faglflext-ksl11.
DATA: itab_ksl12 TYPE faglflext-ksl12.
DATA: itab_ksl13 TYPE faglflext-ksl13.
DATA: itab_ksl14 TYPE faglflext-ksl14.
DATA: itab_ksl15 TYPE faglflext-ksl15.
DATA: itab_ksl16 TYPE faglflext-ksl16.
DATA: itab_bal00 TYPE faglflext-kslvt.
DATA: itab_bal01 TYPE faglflext-ksl01.
DATA: itab_bal02 TYPE faglflext-ksl02.
DATA: itab_bal03 TYPE faglflext-ksl03.
DATA: itab_bal04 TYPE faglflext-ksl04.
DATA: itab_bal05 TYPE faglflext-ksl05.
DATA: itab_bal06 TYPE faglflext-ksl06.
DATA: itab_bal07 TYPE faglflext-ksl07.
DATA: itab_bal08 TYPE faglflext-ksl08.
DATA: itab_bal09 TYPE faglflext-ksl09.
DATA: itab_bal10 TYPE faglflext-ksl10.
DATA: itab_bal11 TYPE faglflext-ksl11.
DATA: itab_bal12 TYPE faglflext-ksl12.
DATA: itab_bal13 TYPE faglflext-ksl13.
DATA: itab_bal14 TYPE faglflext-ksl14.
DATA: itab_bal15 TYPE faglflext-ksl15.
DATA: itab_bal16 TYPE faglflext-ksl16.
DATA: numero_de_cta TYPE faglflext-racct.
DATA: company_code TYPE faglflext-rbukrs.
DATA: profit_center TYPE faglflext-prctr.
DATA: currency_code TYPE faglflext-rtcur.
DATA: average_month TYPE zavg_bal_table-average.
DATA: aggregate_month TYPE zavg_bal_table-agregate.
* VARIABLES FOR INTERFACES LOG
DATA: v_tipo TYPE zzfinbc85typede VALUE 1. "Tipo 1 = OUT
DATA: v_nom_int(9) TYPE c VALUE 'ZFINFII00'. "Nombre de la interfaz
DATA: v_modulo(2) TYPE c VALUE 'FI'. "Modulo
DATA: v_comp_code(4) TYPE c VALUE '0000'. "Compañia 0000
DATA: v_alegacy(4) TYPE c VALUE '0001'.
DATA: v_fecha TYPE d.
DATA: v_error2(3) TYPE c VALUE 'E'.
DATA: l_sys_exc TYPE REF TO cx_ai_system_fault.
DATA: last_day TYPE sy-datum.
DATA: numero_mes TYPE i.
DATA: ryear TYPE faglflext-ryear.
DATA: numero_cuenta TYPE faglflext-racct.
DATA: numero_profit TYPE faglflext-prctr.
DATA: day_a TYPE i.
DATA: text(20) TYPE c.
*Acknowledge
DATA: lo_async_messaging TYPE REF TO if_wsprotocol_async_messaging,
lo_msg_id_protocol TYPE REF TO if_wsprotocol_message_id,
l_msg_id TYPE sxmsguid,
l_ack_request TYPE prx_ack_request_details.
DATA: fecha TYPE sy-datum.
DATA: fecha_ejecutandose TYPE sy-datum.
DATA: fecha_corriente TYPE i.
DATA: jan_fin TYPE sy-datum.
DATA: feb_fin TYPE sy-datum.
DATA: febb_fin TYPE sy-datum.
DATA: mar_fin TYPE sy-datum.
DATA: apr_fin TYPE sy-datum.
DATA: may_fin TYPE sy-datum.
DATA: jun_fin TYPE sy-datum.
DATA: jul_fin TYPE sy-datum.
DATA: aug_fin TYPE sy-datum.
DATA: sep_fin TYPE sy-datum.
DATA: oct_fin TYPE sy-datum.
DATA: nov_fin TYPE sy-datum.
DATA: dec_fin TYPE sy-datum.
DATA: porciento1 TYPE faglflext-ksl01.
DATA: porciento2 TYPE faglflext-ksl01.
DATA: porciento3 TYPE faglflext-ksl01.
DATA: porciento4 TYPE faglflext-ksl01.
DATA: porciento5 TYPE faglflext-ksl01.
DATA: porciento6 TYPE faglflext-ksl01.
DATA: porciento7 TYPE faglflext-ksl01.
DATA: porciento8 TYPE faglflext-ksl01.
DATA: porciento9 TYPE faglflext-ksl01.
DATA: porciento10 TYPE faglflext-ksl01.
DATA: porciento11 TYPE faglflext-ksl01.
DATA: porciento12 TYPE faglflext-ksl01.
data: mes(2) type c value '00'.
data: mes_anterior type sy-datum.
data: ceros(2) type c.
*DEFINICION DE RANGOS.
RANGES profit FOR faglflext-prctr.
RANGES account FOR faglflext-racct.
RANGES end_month FOR zavg_bal_table-day_a.
*Sele asigna el fin de mes a cada variable para que sea utilizada luego en el programa.
jan_fin = '20060131'.
feb_fin = '20060228'.
febb_fin = '20060229'.
mar_fin = '20060331'.
apr_fin = '20060430'.
may_fin = '20060531'.
jun_fin = '20060630'.
jul_fin = '20060731'.
aug_fin = '20060831'.
sep_fin = '20060930'.
oct_fin = '20061031'.
nov_fin = '20061130'.
dec_fin = '20061231'.
*Inicializando las variables a valor '0'.
balance_month_01 = 0.
balance_month_02 = 0.
balance_month_03 = 0.
balance_month_04 = 0.
balance_month_05 = 0.
balance_month_06 = 0.
balance_month_07 = 0.
balance_month_08 = 0.
balance_month_09 = 0.
balance_month_10 = 0.
balance_month_11 = 0.
balance_month_12 = 0.
balance_month_13 = 0.
current_average_balance = 0.
current_balance = 0.
current_activity_balance = 0.
current_aggregate_balance = 0.
average_balance_ytd = 0.
count = 0.
t_acum = 0.
conteo = 1.
conteo2 = 1.
ceros = '00'.
*THIS IS A STRUCTURE NAMED E_SKAT. WITH THE TWO FIELDS NAMED SAKNR *
*AND TXT20. *
TYPES: BEGIN OF e_skat,
ktopl LIKE skat-ktopl,
saknr LIKE skat-saknr,
txt20 LIKE skat-txt20,
END OF e_skat.
* SORT THE STRUCTURE IN ORDER FOR BEST PERFORMANCE *
DATA it_skat TYPE SORTED TABLE OF e_skat
WITH UNIQUE KEY saknr WITH HEADER LINE.
DATA: wa_skat LIKE LINE OF it_skat.
* CONSTANT DEFINITIONS (HAVE THE SAME VALUE EVER) *
CONSTANTS:
etype TYPE zetype VALUE 'INTER', "Utilizada con la funcion de error
innum TYPE zintnum VALUE 'ZFINFII00', "Utilizada con la funcion de error
inname TYPE zinname VALUE 'Sendero and Cognos Interfase', "Utilizada con la funcion de error
c_cuenta(10) TYPE c VALUE '0000270011',
c_ol(2) TYPE c VALUE '0L',
c_chart(4) TYPE c VALUE 'CAPI', "Chart Of Accounts
c_ceros(17) TYPE n VALUE '00000000000000.00', "ceros
acct_cog(10) TYPE n VALUE '0000270011', "Numero de cta. que se busca en COGNOS.
capi(4) TYPE c VALUE 'CAPI'.
* PARAMETROS de entrada para el usuario. *
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001.
PARAMETERS:
p_date TYPE sy-datum DEFAULT sy-datum. "Fecha de corrida
IF p_date IS INITIAL.
p_date = sy-datum.
ENDIF.
* PARAMETEROS DE ENTRADA POR MEDIO DE RANGOS PARA EL USUARIO *
SELECT-OPTIONS:
p_bukrs FOR faglflext-rbukrs.
SELECTION-SCREEN END OF BLOCK bl1.
*IF THE USER SELECT THIS CHECK BOX WITH A CHECK MARK THE PROGRAM *
*SUBMIT THIS INTERFACE TO. *
SELECTION-SCREEN BEGIN OF BLOCK bl2 WITH FRAME TITLE text-002.
PARAMETERS:
p_cognos TYPE c AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK bl2.
* This statement calls the subroutine specified, SENDERO or COGNOS *
IF p_cognos IS INITIAL.
PERFORM sendero.
ELSE.
PERFORM cognos.
ENDIF.
EXIT.
* SENEDERO INTERFACE *
FORM sendero.
*ESTE SELECT EXTRAE LA DATA DE LA TABLA FAGFLEXT Y SKAT
DATA: msgdetails TYPE zgl_sendero_file_dt_tab.
DATA: wa_msgdetails LIKE LINE OF msgdetails.
SELECT a~ryear a~rpmax a~rtcur a~racct a~rbukrs a~prctr
a~kslvt a~ksl01 a~ksl02 a~ksl03 a~ksl04 a~ksl05
a~ksl06 a~ksl07 a~ksl08 a~ksl09 a~ksl10 a~ksl11
a~ksl12 a~ksl13 a~ksl14 a~ksl15 a~ksl16 b~saknr
b~txt20 b~ktopl
FROM faglflext AS a INNER JOIN skat AS b ON a~racct = b~saknr AND a~rclnt = b~mandt
CLIENT SPECIFIED INTO CORRESPONDING FIELDS OF TABLE t_itab1
WHERE a~rclnt = sy-mandt
AND a~rbukrs IN p_bukrs
AND a~rldnr = '0L'
AND a~ryear = p_date+0(4)
AND b~spras EQ sy-langu
AND b~ktopl EQ 'CAPI'.
*SI NO ENCUENTRA DATA EN LA TABLA FAGLFLEXT ENVIA EL MENSAJE DE ERROR
*A LA TABLA DE ERROR.
IF sy-subrc <> 0.
MOVE 'No data found in FLAGLFLEXT or ZAVG_BAL_TABLE for this process.'(e01) TO emsg.
* PERFORM call_error_function USING emsg.
* PERFORM call_log_function_send.
MESSAGE: emsg TYPE 'E'.
ENDIF.
*EN ESTE SELECT SACO LA DESCRIPCION DE LA CUENTA
SORT t_itab1 BY racct ASCENDING.
DELETE t_itab1 WHERE racct = ''.
SORT t_itab1 BY prctr ASCENDING.
CLEAR t_itab1.
READ TABLE t_itab1 INTO wa_low INDEX 1 .
DESCRIBE TABLE t_itab1 LINES firstline.
READ TABLE t_itab1 INTO wa_high INDEX firstline.
IF wa_high-prctr = 'DUMMY'. "SI EL ULTIMO RECORD CONTIENE ALGUN 'DUMMY' ESCOJER EL RECORD DE ARRIBA.
firstline = firstline - 1. "CONTIENE EL NUMERO DEL INDICE.
READ TABLE t_itab1 INTO wa_high INDEX firstline.
ENDIF.
profit-sign = 'I'.
profit-option = 'BT'.
profit-low = wa_low-prctr.
profit-high = wa_high-prctr.
APPEND profit.
*COMPUTOS PARA CALCULAR EL ULTIMO DIA DEL MES.
fecha = p_date.
numero_mes = p_date+4(2). "PASO NUMERO DEL MES A VARIABLE.
p_date+4(2) = p_date+4(2) - numero_mes. "LE RESTO EL MISMO MES A LA FECHA PARA COMENZAR EL CONTEO DESDE EL MES 1.
DO numero_mes TIMES. "SE VA A EJECUTAR LAS MISMAS VECES DEL NUMERO DEL MES.
p_date+4(2) = p_date+4(2) + 1. "SE INCREMENTA EL NUMERO DEL MES.
CALL FUNCTION 'SG_PS_GET_LAST_DAY_OF_MONTH' "Obtiene el ultimo numero del mes.
EXPORTING
day_in = p_date
IMPORTING
last_day_of_month = last_day
EXCEPTIONS
day_in_not_valid = 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.
IF fecha = p_date.
fecha = fecha - 1. "le resta a fecha -1 para que busque en la tabla zavg_bal_table el record del dia anterior.
end_month-sign = 'I'.
end_month-option = 'EQ'.
end_month-low = fecha.
APPEND end_month.
ELSE.
end_month-sign = 'I'.
end_month-option = 'EQ'.
end_month-low = last_day.
APPEND end_month.
ENDIF.
ENDDO.
SORT end_month BY low ASCENDING.
SELECT bukrs racct prctr day_a per_day average agregate accumulate average_sap
FROM zavg_bal_table CLIENT SPECIFIED APPENDING TABLE t_zavg
WHERE mandt = sy-mandt
AND bukrs IN p_bukrs
AND day_a <= sy-datum
AND prctr IN profit.
SORT t_itab1 BY rbukrs racct prctr.
SORT t_zavg BY bukrs racct prctr day_a.
*IMPRESION Y ENVIO DE LOS DATOS REQUERIDOS
*Estos If verifican el mes que se esta ejecutando por el usuario para cambiarselo a la variable que identifica el fin de mes.
IF p_date+4(2) = jan_fin+4(2).
jan_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = feb_fin+4(2).
feb_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = mar_fin+4(2).
mar_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = apr_fin+4(2).
apr_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = may_fin+4(2).
may_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = jun_fin+4(2).
jun_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = jul_fin+4(2).
jul_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = aug_fin+4(2).
aug_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = sep_fin+4(2).
sep_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = oct_fin+4(2).
oct_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = nov_fin+4(2).
nov_fin+6(2) = p_date+6(2).
ENDIF.
IF p_date+4(2) = dec_fin+4(2).
dec_fin+6(2) = p_date+6(2).
ENDIF.
*Comienza primer loop en el programa a t_itab1 que es la tabla interna que contiene los datos de faglflext.
LOOP AT t_itab1 INTO wa_itab WHERE racct NE ''.
AT NEW prctr. "Limpia las variables que se muestran en el clear cada ves que comienza un nuevo profit center.
CLEAR: itab_kslvt, itab_ksl01, itab_ksl02, itab_ksl03, itab_ksl04, itab_ksl05, itab_ksl06, itab_ksl07, itab_ksl08,
itab_ksl09, itab_ksl10, itab_ksl11, itab_ksl12, itab_ksl13, itab_ksl14, itab_ksl15, itab_ksl16,
itab_bal00, itab_bal01, itab_bal02, itab_bal03, itab_bal04, itab_bal05, itab_bal06, itab_bal07,
itab_bal08, itab_bal09, itab_bal10, itab_bal11, itab_bal12, itab_bal13, itab_bal14, itab_bal15,
itab_bal16.
ENDAT.
*Se le pasa a la variable itab_ksl## el valor del mes que contenga flext.
itab_kslvt = itab_kslvt + wa_itab-kslvt. itab_ksl01 = itab_ksl01 + wa_itab-ksl01. itab_ksl02 = itab_ksl02 + wa_itab-ksl02.
itab_ksl03 = itab_ksl03 + wa_itab-ksl03. itab_ksl04 = itab_ksl04 + wa_itab-ksl04.
itab_ksl05 = itab_ksl05 + wa_itab-ksl05. itab_ksl06 = itab_ksl06 + wa_itab-ksl06.
itab_ksl07 = itab_ksl07 + wa_itab-ksl07. itab_ksl08 = itab_ksl08 + wa_itab-ksl08.
itab_ksl09 = itab_ksl09 + wa_itab-ksl09. itab_ksl10 = itab_ksl10 + wa_itab-ksl10.
itab_ksl11 = itab_ksl11 + wa_itab-ksl11. itab_ksl12 = itab_ksl12 + wa_itab-ksl12.
itab_ksl13 = itab_ksl13 + wa_itab-ksl13. itab_ksl14 = itab_ksl14 + wa_itab-ksl14.
itab_ksl15 = itab_ksl15 + wa_itab-ksl15. itab_ksl16 = itab_ksl16 + wa_itab-ksl16.
*En estas variables va acumulando el valor por mes. Osea, va sumando todo lo que tenga de ese mes por profit center. Al venir un profit
*nuevo esta se limpia.
itab_bal00 = itab_bal00 + wa_itab-kslvt. itab_bal01 = itab_bal01 + wa_itab-ksl01. itab_bal02 = itab_bal02 + wa_itab-ksl02.
itab_bal03 = itab_bal03 + wa_itab-ksl03. itab_bal04 = itab_bal04 + wa_itab-ksl04.
itab_bal05 = itab_bal05 + wa_itab-ksl05. itab_bal06 = itab_bal06 + wa_itab-ksl06.
itab_bal07 = itab_bal07 + wa_itab-ksl07. itab_bal08 = itab_bal08 + wa_itab-ksl08.
itab_bal09 = itab_bal09 + wa_itab-ksl09. itab_bal10 = itab_bal10 + wa_itab-ksl10.
itab_bal11 = itab_bal11 + wa_itab-ksl11. itab_bal12 = itab_bal12 + wa_itab-ksl12.
itab_bal13 = itab_bal13 + wa_itab-ksl13. itab_bal14 = itab_bal14 + wa_itab-ksl14.
itab_bal15 = itab_bal15 + wa_itab-ksl15. itab_bal16 = itab_bal16 + wa_itab-ksl16.
ryear = wa_itab-ryear.
CLEAR t_zavg.
sy-subrc = 0.
numero_de_cta = wa_itab-racct.
company_code = wa_itab-rbukrs.
profit_center = wa_itab-prctr.
currency_code = wa_itab-rtcur.
descripcion = wa_itab-txt20.
*Segundo loop a realizarce. Este utiliza la tabla interna: t_zavg la cual contiene los datos extraidos de zavg_bal_table.
LOOP AT t_zavg INTO wa_zavg WHERE bukrs = wa_itab-rbukrs AND racct = wa_itab-racct AND prctr = wa_itab-prctr.
AT NEW prctr. "Al cambiar el profit center limpia las variables que se encuentran en el clear.
CLEAR: average_month_01, average_month_02, average_month_03, average_month_04, average_month_05,
average_month_06, average_month_07, average_month_08, average_month_09, average_month_10, average_month_11,
average_month_12, average_month.
ENDAT.
*Dependiendo del mes que contiene el record de la tabla t_zavg este va acumulando el average_month.
IF wa_zavg-day_a+4(2) = '01'.
average_month_01 = average_month_01 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '02'.
average_month_02 = average_month_02 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '03'.
average_month_03 = average_month_03 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '04'.
average_month_04 = average_month_04 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '05'.
average_month_05 = average_month_05 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '06'.
average_month_06 = average_month_06 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '07'.
average_month_07 = average_month_07 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '08'.
average_month_08 = average_month_08 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '09'.
average_month_09 = average_month_09 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '10'.
average_month_10 = average_month_10 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '11'.
average_month_11 = average_month_11 + wa_zavg-accumulate.
ENDIF.
IF wa_zavg-day_a+4(2) = '12'.
average_month_12 = average_month_12 + wa_zavg-accumulate.
ENDIF.
*Este if verifica que cuando el record que se esta verificando sea con fecha de fin de mes calcule el resto del codigo que se encuentra debajo.
IF wa_zavg-day_a = jan_fin OR wa_zavg-day_a = feb_fin OR wa_zavg-day_a = mar_fin OR wa_zavg-day_a = apr_fin OR wa_zavg-day_a = may_fin OR wa_zavg-day_a = jun_fin OR
wa_zavg-day_a = jul_fin OR wa_zavg-day_a = aug_fin OR wa_zavg-day_a = sep_fin OR wa_zavg-day_a = oct_fin OR
wa_zavg-day_a = nov_fin OR wa_zavg-day_a = dec_fin.
aggregate_month = wa_zavg-agregate.
day_a = wa_zavg-day_a.
*Calcula el aggregate_month dependiendo de la fecha del record que se esta procesando.
IF wa_zavg-day_a+4(2) = '01'.
aggregate_month_01 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '02'.
aggregate_month_02 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '03'.
aggregate_month_03 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '04'.
aggregate_month_04 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '05'.
aggregate_month_05 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '06'.
aggregate_month_06 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '07'.
aggregate_month_07 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '08'.
aggregate_month_08 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '09'.
aggregate_month_09 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '10'.
aggregate_month_10 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '11'.
aggregate_month_11 = wa_zavg-agregate.
ENDIF.
IF wa_zavg-day_a+4(2) = '12'.
aggregate_month_12 = wa_zavg-agregate.
ENDIF.
ENDIF.
*Este if verifica que cuando el record que se esta verificando sea con fecha de fin de mes calcule el resto del codigo que se encuentra debajo.
IF wa_zavg-day_a+4(4) = jan_fin+4(4) OR wa_zavg-day_a+4(4) = feb_fin+4(4) OR wa_zavg-day_a+4(4) = febb_fin+4(4) OR wa_zavg-day_a+4(4) = mar_fin+4(4) OR
wa_zavg-day_a+4(4) = apr_fin+4(4) OR wa_zavg-day_a+4(4) = may_fin+4(4) OR wa_zavg-day_a+4(4) = jun_fin+4(4) OR wa_zavg-day_a+4(4) = jul_fin+4(4) OR
wa_zavg-day_a+4(4) = aug_fin+4(4) OR wa_zavg-day_a+4(4) = sep_fin+4(4) OR wa_zavg-day_a+4(4) = oct_fin+4(4) OR wa_zavg-day_a+4(4) = nov_fin+4(4) OR
wa_zavg-day_a+4(4) = dec_fin+4(4).
*Calcula la division entre la cantidad acumulada por mes y la fecha del fin de mes.
IF average_month_01 IS NOT INITIAL.
porciento1 = average_month_01 / jan_fin+6(2).
average_month = porciento1.
ENDIF.
IF average_month_02 IS NOT INITIAL.
porciento2 = average_month_02 / feb_fin+6(2).
average_month = porciento2.
ENDIF.
IF average_month_03 IS NOT INITIAL.
porciento3 = average_month_03 / mar_fin+6(2).
average_month = porciento3.
ENDIF.
IF average_month_04 IS NOT INITIAL.
porciento4 = average_month_04 / apr_fin+6(2).
average_month = porciento4.
ENDIF.
IF average_month_05 IS NOT INITIAL.
porciento5 = average_month_05 / may_fin+6(2).
average_month = porciento5.
ENDIF.
IF average_month_06 IS NOT INITIAL.
porciento6 = average_month_06 / jun_fin+6(2).
average_month = porciento6.
ENDIF.
IF average_month_07 IS NOT INITIAL.
porciento7 = average_month_07 / jul_fin+6(2).
average_month = porciento7.
ENDIF.
IF average_month_08 IS NOT INITIAL.
porciento8 = average_month_08 / aug_fin+6(2).
average_month = porciento8.
ENDIF.
IF average_month_09 IS NOT INITIAL.
porciento9 = average_month_09 / sep_fin+6(2).
average_month = porciento9.
ENDIF.
IF average_month_10 IS NOT INITIAL.
porciento10 = average_month_10 / oct_fin+6(2).
average_month = porciento10.
ENDIF.
IF average_month_11 IS NOT INITIAL.
porciento11 = average_month_11 / nov_fin+6(2).
average_month = porciento11.
ENDIF.
IF average_month_12 IS NOT INITIAL.
porciento12 = average_month_12 / dec_fin+6(2).
average_month = porciento12.
ENDIF.
*Cuando la fecha que esta entrando el usuario es la misma a la del record que se esta procesando en ese momento ejecuta el siguiente IF.
IF p_date+4(4) = wa_zavg-day_a+4(4).
current_average_balance = average_month.
current_aggregate_balance = aggregate_month.
average_balance_ytd = average_month.
ENDIF.
ENDIF.
ENDLOOP.
AT END OF prctr.
IF sy-subrc = 0.
*ESTAS VARIABLES SE ESTAN PASANDO A UNA VARIABLE NORMAL YA QUE SI SE DEJAN DENTRO DEL WORK AREA (WA) LE PONE ASTERISCOS.
*LOS IF QUE SE DEMUESTRAN ABAJO SON PARECIDOS A LOS UTILIZADOS EN LA *
*PARTE POSTERIOR LO UNICO QUE LA FECHA UTILIZADA NO ES EXTRAIDA DE LA *
*TABLA, ES LA QUE EL USUARIO INSERTA DENTRO DEL PARAMETRO. *
IF p_date+4(2) >= '01'.
COMPUTE: balance_month_01 = itab_bal00 + itab_bal01.
ENDIF.
IF p_date+4(2) >= '02'.
COMPUTE: balance_month_02 = itab_bal00 + itab_bal01 + itab_bal02.
ENDIF.
IF p_date+4(2) >= '03'.
COMPUTE: balance_month_03 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03.
ENDIF.
IF p_date+4(2) >= '04'.
COMPUTE: balance_month_04 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04.
ENDIF.
IF p_date+4(2) >= '05'.
COMPUTE: balance_month_05 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05.
ENDIF.
IF p_date+4(2) >= '06'.
COMPUTE: balance_month_06 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05 + itab_bal06.
ENDIF.
IF p_date+4(2) >= '07'.
COMPUTE: balance_month_07 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05 + itab_bal06 + itab_bal07.
ENDIF.
IF p_date+4(2) >= '08'.
COMPUTE: balance_month_08 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05 + itab_bal06 + itab_bal07 + itab_bal08.
ENDIF.
IF p_date+4(2) >= '09'.
COMPUTE: balance_month_09 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05 + itab_bal06 + itab_bal07 + itab_bal08 + itab_bal09.
ENDIF.
IF p_date+4(2) >= '10'.
COMPUTE: balance_month_10 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05 + itab_bal06 + itab_bal07 + itab_bal08 + itab_bal09 + itab_bal10.
ENDIF.
IF p_date+4(2) >= '11'.
COMPUTE: balance_month_11 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05 + itab_bal06 + itab_bal07 + itab_bal08 + itab_bal09 + itab_bal10 + itab_bal11.
ENDIF.
IF p_date+4(2) >= '12'.
COMPUTE: balance_month_12 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05 + itab_bal06 + itab_bal07 + itab_bal08 + itab_bal09 + itab_bal10 + itab_bal11 + itab_bal12.
ENDIF.
IF p_date+4(2) >= '13'.
COMPUTE: balance_month_13 = itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05 + itab_bal06 + itab_bal07 + itab_bal08 + itab_bal09 + itab_bal10 + itab_bal11 + itab_bal12 + itab_bal13.
ENDIF.
COMPUTE: current_balance = + itab_bal00 + itab_bal01 + itab_bal02 + itab_bal03 + itab_bal04 + itab_bal05 + itab_bal06 + itab_bal07 + itab_bal08 + itab_bal09 + itab_bal10 + itab_bal11 + itab_bal12 + itab_bal13 + itab_bal14 + itab_bal15 + itab_bal16.
*Computo para el activity balance.
IF p_date+4(2) = '01'.
current_activity_balance = itab_ksl01.
ENDIF.
IF p_date+4(2) = '02'.
current_activity_balance = itab_ksl02.
ENDIF.
IF p_date+4(2) = '03'.
current_activity_balance = itab_ksl03.
ENDIF.
IF p_date+4(2) = '04'.
current_activity_balance = itab_ksl04.
ENDIF.
IF p_date+4(2) = '05'.
current_activity_balance = itab_ksl05.
ENDIF.
IF p_date+4(2) = '06'.
current_activity_balance = itab_ksl06.
ENDIF.
IF p_date+4(2) = '07'.
current_activity_balance = itab_ksl07.
ENDIF.
IF p_date+4(2) = '08'.
current_activity_balance = itab_ksl08.
ENDIF.
IF p_date+4(2) = '09'.
current_activity_balance = itab_ksl09.
ENDIF.
IF p_date+4(2) = '10'.
current_activity_balance = itab_ksl10.
ENDIF.
IF p_date+4(2) = '11'.
current_activity_balance = itab_ksl11.
ENDIF.
IF p_date+4(2) = '12'.
current_activity_balance = itab_ksl12.
ENDIF.
*LE RESTA 1 AL AÑO CORRIENTE PARA VERIFICAR LUEGO SI EXISTE INFORMACION*
*DE AÑOS ANTERIORES. *
ano = ryear - 1.
* Get the values of the past year. *
ano = p_date+0(4) - 1.
IF ryear = ano.
wa_msgdetails-activity_previous_year = itab_ksl12.
* balance_previous_year = wa_msgdetails-balance_previous_year. *
wa_msgdetails-average_previous_year = average_month_12.
wa_msgdetails-aggreg_previous_year = aggregate_month_12.
ELSE.
*If the table don't have data the variables get '0000000000000'. *
wa_msgdetails-activity_previous_year = '00000000000000.00'.
wa_msgdetails-average_previous_year = '00000000000000.00'.
wa_msgdetails-aggreg_previous_year = '00000000000000.00'.
AT LAST.
wa_msgdetails-balance_previous_year = '00000000000000.00'.
wa_msgdetails-balance_previous_year = itab_kslvt +
itab_ksl01 +
itab_ksl02 +
itab_ksl03 +
itab_ksl04 +
itab_ksl05 +
itab_ksl06 +
itab_ksl07 +
itab_ksl08 +
itab_ksl09 +
itab_ksl10 +
itab_ksl11 +
itab_ksl12.
ENDAT.
ENDIF.
wa_msgdetails-account = numero_de_cta.
wa_msgdetails-company = company_code.
wa_msgdetails-cost_center = profit_center.
wa_msgdetails-currency_code = currency_code.
wa_msgdetails-account_description = descripcion.
wa_msgdetails-activity_month_01 = itab_ksl01.
wa_msgdetails-average_month_01 = porciento1.
wa_msgdetails-aggreg_month_01 = aggregate_month_01.
wa_msgdetails-activity_month_02 = itab_ksl02.
wa_msgdetails-average_month_02 = porciento2.
wa_msgdetails-aggreg_month_02 = aggregate_month_02.
wa_msgdetails-activity_month_03 = itab_ksl03.
wa_msgdetails-average_month_03 = porciento3.
wa_msgdetails-aggreg_month_03 = aggregate_month_03.
wa_msgdetails-activity_month_04 = itab_ksl04.
wa_msgdetails-average_month_04 = porciento4.
wa_msgdetails-aggreg_month_04 = aggregate_month_04.
wa_msgdetails-activity_month_05 = itab_ksl05.
wa_msgdetails-average_month_05 = porciento5.
wa_msgdetails-aggreg_month_05 = aggregate_month_05.
wa_msgdetails-activity_month_06 = itab_ksl06.
wa_msgdetails-average_month_06 = porciento6.
wa_msgdetails-aggreg_month_06 = aggregate_month_06.
wa_msgdetails-activity_month_07 = itab_ksl07.
wa_msgdetails-average_month_07 = porciento7.
wa_msgdetails-aggreg_month_07 = aggregate_month_07.
wa_msgdetails-activity_month_08 = itab_ksl08.
wa_msgdetails-average_month_08 = porciento8.
wa_msgdetails-aggreg_month_08 = aggregate_month_08.
wa_msgdetails-activity_month_09 = itab_ksl09.
wa_msgdetails-average_month_09 = porciento9.
wa_msgdetails-aggreg_month_09 = aggregate_month_09.
wa_msgdetails-activity_month_10 = itab_ksl10.
wa_msgdetails-average_month_10 = porciento10.
wa_msgdetails-aggreg_month_10 = aggregate_month_10.
wa_msgdetails-activity_month_11 = itab_ksl11.
wa_msgdetails-average_month_11 = porciento11.
wa_msgdetails-aggreg_month_11 = aggregate_month_11.
wa_msgdetails-activity_month_12 = itab_ksl12.
wa_msgdetails-average_month_12 = porciento12.
wa_msgdetails-aggreg_month_12 = aggregate_month_12.
wa_msgdetails-activity_month_13 = itab_ksl13.
wa_msgdetails-average_month_13 = '00000000000000.00'.
wa_msgdetails-aggreg_month_13 = '00000000000000.00'.
wa_msgdetails-balance_month_01 = balance_month_01.
wa_msgdetails-balance_month_02 = balance_month_02.
wa_msgdetails-balance_month_03 = balance_month_03.
wa_msgdetails-balance_month_04 = balance_month_04.
wa_msgdetails-balance_month_05 = balance_month_05.
wa_msgdetails-balance_month_06 = balance_month_06.
wa_msgdetails-balance_month_07 = balance_month_07.
wa_msgdetails-balance_month_08 = balance_month_08.
wa_msgdetails-balance_month_09 = balance_month_09.
wa_msgdetails-balance_month_10 = balance_month_10.
wa_msgdetails-balance_month_11 = balance_month_11.
wa_msgdetails-balance_month_12 = balance_month_12.
wa_msgdetails-balance_month_13 = balance_month_13.
wa_msgdetails-current_balance = current_balance.
wa_msgdetails-current_activity_balance = current_activity_balance.
CLEAR: porciento1, porciento2, porciento3, porciento4, porciento5, porciento6, porciento7, porciento8, porciento9, porciento10, porciento11,
porciento12, average_month.
*se multiplican las siguientes variables que contienen cantidades por -1 cuando el primer numero de la cta. es igual a
* 5, 6, 7, ó 8.
IF numero_de_cta+4(1) = '5' OR numero_de_cta+4(1) = '6' OR numero_de_cta+4(1) = '7' OR numero_de_cta+4(1) = '8'.
IF wa_msgdetails-current_balance IS NOT INITIAL.
wa_msgdetails-current_balance = wa_msgdetails-current_balance * -1.
ENDIF.
IF wa_msgdetails-activity_previous_year IS NOT INITIAL.
wa_msgdetails-activity_previous_year = wa_msgdetails-activity_previous_year * -1.
ENDIF.
IF wa_msgdetails-average_previous_year IS NOT INITIAL.
wa_msgdetails-average_previous_year = wa_msgdetails-average_previous_year * -1.
ENDIF.
IF wa_msgdetails-aggreg_previous_year IS NOT INITIAL.
wa_msgdetails-aggreg_previous_year = wa_msgdetails-aggreg_previous_year * -1.
ENDIF.
IF wa_msgdetails-balance_previous_year IS NOT INITIAL.
wa_msgdetails-balance_previous_year = wa_msgdetails-balance_previous_year * -1.
ENDIF.
IF wa_msgdetails-current_activity_balance IS NOT INITIAL.
wa_msgdetails-current_activity_balance = wa_msgdetails-current_activity_balance * -1.
ENDIF.
IF wa_msgdetails-activity_month_01 IS NOT INITIAL.
wa_msgdetails-activity_month_01 = wa_msgdetails-activity_month_01 * -1.
ENDIF.
IF wa_msgdetails-balance_month_01 IS NOT INITIAL.
wa_msgdetails-balance_month_01 = wa_msgdetails-balance_month_01 * -1.
ENDIF.
IF wa_msgdetails-average_month_01 IS NOT INITIAL.
wa_msgdetails-average_month_01 = wa_msgdetails-average_month_01 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_01 IS NOT INITIAL.
wa_msgdetails-aggreg_month_01 = wa_msgdetails-aggreg_month_01 * -1.
ENDIF.
IF wa_msgdetails-activity_month_02 IS NOT INITIAL.
wa_msgdetails-activity_month_02 = wa_msgdetails-activity_month_02 * -1.
ENDIF.
IF wa_msgdetails-balance_month_02 IS NOT INITIAL.
wa_msgdetails-balance_month_02 = wa_msgdetails-balance_month_02 * -1.
ENDIF.
IF wa_msgdetails-average_month_02 IS NOT INITIAL.
wa_msgdetails-average_month_02 = wa_msgdetails-average_month_02 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_02 IS NOT INITIAL.
wa_msgdetails-aggreg_month_02 = wa_msgdetails-aggreg_month_02 * -1.
ENDIF.
IF wa_msgdetails-activity_month_03 IS NOT INITIAL.
wa_msgdetails-activity_month_03 = wa_msgdetails-activity_month_03 * -1.
ENDIF.
IF wa_msgdetails-balance_month_03 IS NOT INITIAL.
wa_msgdetails-balance_month_03 = wa_msgdetails-balance_month_03 * -1.
ENDIF.
IF wa_msgdetails-average_month_03 IS NOT INITIAL.
wa_msgdetails-average_month_03 = wa_msgdetails-average_month_03 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_03 IS NOT INITIAL.
wa_msgdetails-aggreg_month_03 = wa_msgdetails-aggreg_month_03 * -1.
ENDIF.
IF wa_msgdetails-activity_month_04 IS NOT INITIAL.
wa_msgdetails-activity_month_04 = wa_msgdetails-activity_month_04 * -1.
ENDIF.
IF wa_msgdetails-balance_month_04 IS NOT INITIAL.
wa_msgdetails-balance_month_04 = wa_msgdetails-balance_month_04 * -1.
ENDIF.
IF wa_msgdetails-average_month_04 IS NOT INITIAL.
wa_msgdetails-average_month_04 = wa_msgdetails-average_month_04 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_04 IS NOT INITIAL.
wa_msgdetails-aggreg_month_04 = wa_msgdetails-aggreg_month_04 * -1.
ENDIF.
IF wa_msgdetails-activity_month_05 IS NOT INITIAL.
wa_msgdetails-activity_month_05 = wa_msgdetails-activity_month_05 * -1.
ENDIF.
IF wa_msgdetails-balance_month_05 IS NOT INITIAL.
wa_msgdetails-balance_month_05 = wa_msgdetails-balance_month_05 * -1.
ENDIF.
IF wa_msgdetails-average_month_05 IS NOT INITIAL.
wa_msgdetails-average_month_05 = wa_msgdetails-average_month_05 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_05 IS NOT INITIAL.
wa_msgdetails-aggreg_month_05 = wa_msgdetails-aggreg_month_05 * -1.
ENDIF.
IF wa_msgdetails-activity_month_06 IS NOT INITIAL.
wa_msgdetails-activity_month_06 = wa_msgdetails-activity_month_06 * -1.
ENDIF.
IF wa_msgdetails-balance_month_06 IS NOT INITIAL.
wa_msgdetails-balance_month_06 = wa_msgdetails-balance_month_06 * -1.
ENDIF.
IF wa_msgdetails-average_month_06 IS NOT INITIAL.
wa_msgdetails-average_month_06 = wa_msgdetails-average_month_06 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_06 IS NOT INITIAL.
wa_msgdetails-aggreg_month_06 = wa_msgdetails-aggreg_month_06 * -1.
ENDIF.
IF wa_msgdetails-activity_month_07 IS NOT INITIAL.
wa_msgdetails-activity_month_07 = wa_msgdetails-activity_month_07 * -1.
ENDIF.
IF wa_msgdetails-balance_month_07 IS NOT INITIAL.
wa_msgdetails-balance_month_07 = wa_msgdetails-balance_month_07 * -1.
ENDIF.
IF wa_msgdetails-average_month_07 IS NOT INITIAL.
wa_msgdetails-average_month_07 = wa_msgdetails-average_month_07 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_07 IS NOT INITIAL.
wa_msgdetails-aggreg_month_07 = wa_msgdetails-aggreg_month_07 * -1.
ENDIF.
IF wa_msgdetails-activity_month_08 IS NOT INITIAL.
wa_msgdetails-activity_month_08 = wa_msgdetails-activity_month_08 * -1.
ENDIF.
IF wa_msgdetails-balance_month_08 IS NOT INITIAL.
wa_msgdetails-balance_month_08 = wa_msgdetails-balance_month_08 * -1.
ENDIF.
IF wa_msgdetails-average_month_08 IS NOT INITIAL.
wa_msgdetails-average_month_08 = wa_msgdetails-average_month_08 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_08 IS NOT INITIAL.
wa_msgdetails-aggreg_month_08 = wa_msgdetails-aggreg_month_08 * -1.
ENDIF.
IF wa_msgdetails-activity_month_09 IS NOT INITIAL.
wa_msgdetails-activity_month_09 = wa_msgdetails-activity_month_09 * -1.
ENDIF.
IF wa_msgdetails-balance_month_09 IS NOT INITIAL.
wa_msgdetails-balance_month_09 = wa_msgdetails-balance_month_09 * -1.
ENDIF.
IF wa_msgdetails-average_month_09 IS NOT INITIAL.
wa_msgdetails-average_month_09 = wa_msgdetails-average_month_09 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_09 IS NOT INITIAL.
wa_msgdetails-aggreg_month_09 = wa_msgdetails-aggreg_month_09 * -1.
ENDIF.
IF wa_msgdetails-activity_month_10 IS NOT INITIAL.
wa_msgdetails-activity_month_10 = wa_msgdetails-activity_month_10 * -1.
ENDIF.
IF wa_msgdetails-balance_month_10 IS NOT INITIAL.
wa_msgdetails-balance_month_10 = wa_msgdetails-balance_month_10 * -1.
ENDIF.
IF wa_msgdetails-average_month_10 IS NOT INITIAL.
wa_msgdetails-average_month_10 = wa_msgdetails-average_month_10 * -1.
ENDIF.
IF wa_msgdetails-aggreg_month_10 IS NOT INITIAL.
wa_msgdetails-aggreg_month_10 = wa_msgdetails-aggreg_month_10 * -1.
ENDIF.
IF wa_msgdetails-activity_month_11 IS NOT INITIAL.
wa_msgdetails-activity_month_11 = wa_msgdetails-activity_month_11 * -1.
ENDIF.
IF wa_msgdetails-balance_month_11 IS NOT INITIAL.
wa_msgdetails-balance_month_11 = wa_msgdetails-balance_month_11 * -1.
ENDIF.
IF wa_msgdetails-average_month_11 IS NOT INITIAL.
wa_msgdetails-average_month_11 = wa_msgdetails-average_month_11 *Hi,
Are the month-ends (jan_fin etc) stored in the system? There are many variable declarations and if statements that could probably be eliminated if that is the case. More efficient use of storing those variables in internal tables so that the data is only used when needed.
Warren -
Problem with "Call Transaction" which calls a view cluster
Hi Colleagues ,
I have a rare issue with the call transaction , here is the use case for it :
1> I call a transaction(calls a screen X) in a report ,
2> I have a button in the screen , which calls another transaction(calls a screen X2) .
3> On the screen X2 i have another button which calls transaction (calls the view cluster ).
problem :
i'm not able to see the navigation pane in the view cluster on the left. its missing .
but when the view cluster is called direclty , i'm able to see the navigation pane in the view cluster ..
My initial doubt was , is this the problem with nesting of 'Call Transaction' calls ????
please answer the thread , i have to fix this ASAP.
regards,
Dilipproblem solved.
-
Problem with downloading photos errer code 1
problems with error code 1 when downloadind photos
Not enough information to help you. That error code isn't from Firefox which uses 3 digit codes. What website is that? And. are you downloading '''''from''''' a website, or uploading '''''to''''' a website?
-
ECR/ECO problem with automated transactions
Hi Friends,
I have problem with automated close of ECR.
Description:
I have change number with one object - Inspection Plan.
In CC32 when "Incorrect Change" is set and I click "Erro Corrected" - nothink happen
(it should show popup with information that transaction cc06 was automated started)
After that when i choose "Release Change" - also nothing happen.
(it should shop popup and set status - "Close ECO")
Everything works ok on sandbox system but on Dev/Test/Prod it doesn't work.
Anybody now where could be a problem?
Thank you for any advice.Hi
Pls check this Link
SAP-ECM and PPPI Integration-Solution
Thanks in advance -
SQL Developer 3 EA2 - Problem with formating plsql source code
I'm using sql developer 3 ea2. I have played with source code formating.
I have 2 issues with formating in source code editor.
I have a plsql string like the following extending over several lines.
s VARCHAR2(2000) := 'SELECT
col1, col2, col3
FROM table
WHERE col4 = :var';The result after apply "format" to my sourcecode ist:
s VARCHAR2(2000) := 'SELECT
col1, col2, col3
FROM table
WHERE col4 = :var';The second is that sql developer ist camelizing the previous line if I type a whitespace in plsql sourcecode.
How to switch that off??
The last issue is realy annoying!
ChristianI am having exactly the same problem. Every time you use Format Ctrl/F7 it adds new line feeds. Code starts off as:
command := '
select account_status, default_tablespace, temporary_tablespace,
to_char(created,"YYYY-MON-DD HH24:MI:SS"), profile
from Dba_Users@@
where username=:1' ;
First Format Ctrl/F7 get an extra blank line:
command := '
select account_status, default_tablespace, temporary_tablespace,
to_char(created,"YYYY-MON-DD HH24:MI:SS"), profile
from Dba_Users@@
where username=:1' ;
Then second Format Ctrl/F7, get THREE extra lines!!! It goes exponential!!
command := '
select account_status, default_tablespace, temporary_tablespace,
to_char(created,"YYYY-MON-DD HH24:MI:SS"), profile
from Dba_Users@@
where username=:1' ;
So far I've only really encountered the problem with dynamic SQL, which ignores the extra line feeds.
i am pretty sure this is a long standing SqlDeveloper Format problem, going back to V2. -
Problem with Web Service Model code generation
Hello,
I'm importing two different web services into the same web dynpro component, which both contains properties "allGroup2" of type "All2".
This causes some problems with the code generation, first of all the Model-classes can't be generated because they don't know which of the two All2-classes to use. If I fix that problem (which can be easily done by adding the correct import statement) I still can't use the models in my web dynpro component, since it too doesn't know which of the All2-classes to use.
Even though I can fix this by adding imports and fixing the code, it of course gets regenerated next time I rebuild the project, and my changes are lost.
Does anyone know how to solve this?Apparently this is a known bug which is fixed in SP15.
Regards mattias -
Problems with 2 transaction data getting intermixed !!!
Hi,
i am using weblogic in my project both as a webserver and as the application server.
But i am facing problems with requests being sent to the server. Basically i have
a form in my jsp which, if submitted by multiple clients at the same instant in
time, the server gets confused and mixes up the data in the requests !! the form
is submitted to another jsp which in turn calls a SLSB which in turn calls various
entity Beans to fulfill the request.
Now if 2 or more clients hit the submit button together, the server is mixing
the data from the requestsand i get corrupted output as a result.
That if i submit values (a,b,c) from one client machine and values (x,y,z) from
another machine, the server puts one of the transactions properly and in the other
it picks up the data from the other request and takes something like (x,y,c) !!
Is this a bug in Weblogic 6.1 or am doing something wrong ??
Any help would be appreciated. Anyone faced something similar ?
RajaHi.
Please open a case with support if you haven't already done so.
Regards,
Michael
Raja wrote:
Hi,
i am using weblogic in my project both as a webserver and as the application server.
But i am facing problems with requests being sent to the server. Basically i have
a form in my jsp which, if submitted by multiple clients at the same instant in
time, the server gets confused and mixes up the data in the requests !! the form
is submitted to another jsp which in turn calls a SLSB which in turn calls various
entity Beans to fulfill the request.
Now if 2 or more clients hit the submit button together, the server is mixing
the data from the requestsand i get corrupted output as a result.
That if i submit values (a,b,c) from one client machine and values (x,y,z) from
another machine, the server puts one of the transactions properly and in the other
it picks up the data from the other request and takes something like (x,y,c) !!
Is this a bug in Weblogic 6.1 or am doing something wrong ??
Any help would be appreciated. Anyone faced something similar ?
Raja--
Michael Young
Developer Relations Engineer
BEA Support -
LT04 problems with call transaction
Hello,
I am using RF and creating screens for users to putaway material in a raw material warehouse based on a material document number from the GRN which is linked to a TR (transfer requirement). I am, however, having problems with the TO creation where the material is QM relevant.
I have used function module L_TO_CREATE_TR which works for non-QM relevant items but most of our items are QM relevant. I am trying to process these by creating a TO using LT04 as a call transaction.
However, before I can put in a bin , the screen that appears in order to enter the bin has an error message before anything has been input - 'No destination storage bin to be found in storage type 001 "(L3 009).
Anyone have any suggestions how I can get around this as I cannot create the TO in the background using LT04 because of this error.
Regards
Larissa MaryniukAs mentioned in my original question, I cannot use the LTOCREATE_FROM_TR FM for items set with stock category Q as these are QM relevant. If you try and create a TO from a TR using L_TO_CREATE_TR you get an error of 2 which is item is QM relevant. I cannot see how I can use WS_LM_TRANSFER_ORDER_CREATE as you cannot put in the TR number anywhere. Other than these 2 cannot see how I can create a TO from a TR without using LT04.
If I use LT04 and set as backrground I get the message specified. The way to get around the error using LT04 is only available if T04 is set as Foreground on the front screen instead of background.
Anyone have any suggestions?
Edited by: Larissa Maryniuk on Jan 25, 2010 11:41 AM -
Problem with SAP Transaction iView after Patch 34 install
Hi All,
We're running EP6SP2 on AIX/Oracle and have currently upgraded from PL5 to PL34.
The problem we are now having is as follows:
We have an SAP Transaction iView that is using the 'Auto' method for the 'Technique to start SAPGUI for Windows' and the 'WinGui' as the 'SAP GUI Type'.
Now when we click on the iView we are getting the IE popup that asks us if we want to Save, Open, or Cancel the file open for tx.ssd
Prior to the patch upgrade we did not have this issue.
Any help would be appreciated.
Thanks,
Robin.Hi Praveen,
Thanks for the quick response.
I have seen those notes already and unfortunately they don't solve this specific problem. These will solve the problem for the SSD method (.sap file) of starting the SAPGUI for Windows but not for the SSF method (.ssf file).
The main issue is that before the install of the Patch we did not get the popup, everything worked fine. It doesn't make sense why we would have to change our IE settings now to get it to work properly. It should work the same as before the patch.
Plus, I don't want to have to do an SMS push to all the PC's here to fix a problem with a Patch upgrade.
I have tried to add the .ssd and .sap types to the Mime section for the http service in the Admin tool but this hasn't fixed the problem either.
Also, I found that in Patch 31 SAP has made a change to the way the SAP GUI for windows starts. After some searching I found that in the file WinGuiRenderLayer.properties under
the 'com.sap.appintegrator.sap/property/Transaction/' folder I see that it has some entries in it that look like they relate to the above mentioned fix for Patch 31. The lines in particular are:
- # postfix for roundtrip URL - should help IE to detect the mime-type
- SSF_URL_Postfix = /tx.sap
- SSD_URL_Postfix = /tx.ssd
These lines were not in this file prior to implementing the patch and I believe that this may be causing the problem.
Any other suggestions would be appreciated.
Thanks,
Robin -
Problem with a transaction fbwe
Hello,
I created a consignment of goods to present to the bank with the transaction fbwe. I find that if we create a new execution of effects with the same values, re-select the effects previously treated.
Someone knows, is it exists some way to customazing the system why not to choose effects that have been remitted before, and which are still outstanding account?
Thanks for your help.
Regards
XeviG.Hi,
Check the entries in V_T045DTA (tcode SM30 - view). Check Note 177154 - Manually changing table T045DTA too.
I hope this helps you
REgards
Eduardo
Edited by: Eduardo Hinojosa on May 21, 2010 2:14 PM
Maybe you are looking for
-
All of the sudden, iChat is not letting me send a file, but it lets me receive them. The person on the other end is getting a message saying it is waiting for me to start, and I usually get an error or it tells me the other person did not accept the
-
Calling Oracle Functions in Data Template
Hi, I have a package and 2 functions inside that, I need to use those 2 functions inside my BI Publisher Data Template, Package1 Function1(Param1 varchar2,param2 varchar2) return Refcursor Open Refcursor for Select Fun1Col1,Fun1Col2,Fun1Col3 from ABC
-
What to take in consideration before to start.
hi, i am 100% new at this and although there's a lot of support out there, there's too much!! I've been using flash for a while now but more on the design side so never switch to AS3... I need to develop a "members directory" and the chosen software
-
3/27/2012 - AIR 3.2 Release Announcement
Today we're pleased to announce that the next version of AIR, 3.2.0.2070, is available for immediate download. This update includes the following new features: Stage3D hardware accelerated GPU rendering (mobile) - AIR 3.2 introduces the Stage3D API
-
Logging large .ctl to citadel database is slow
Hi, All I'm using LV 8.5 with DSC. I'm logging my own.ctl types shared variables to citadel database. This own.ctl includes 52 piece doubles, strings and boolean datatypes. I have 200 piece this tape of shared variables and I record all that shared