Package Looping
For the second time in 6 years I managed to create a loop in a package running overnight. (See the tiny, almost invisible green line above the icon? That means you've made a big, big mistake, programmer).
Fortunately, this time the package step was not sending an e-mail to lots of people like last time.
I know nothing about the work repository internals, but I need to go in and delete the Operator session and several million step entries. How do I do this?
Attempting to delete the session in the Operator view ultimately throws the following error:
Mar 23, 2012 7:36:05 AM com.microsoft.sqlserver.jdbc.internals.TDS.TOKEN
SEVERE: ConnectionID:3: FetchBufferTokenHandler: Encountered unexpected unknown token (0x1)
Mar 23, 2012 7:36:05 AM com.microsoft.sqlserver.jdbc.TDSReader throwInvalidTDS
SEVERE: ConnectionID:3 got unexpected value in TDS response at offset:3398
Any help is appreciated.
A more educated guess comes from
select c.name
,t.name
from sys.columns c
inner join sys.tables t
on t.object_id = c.object_id
where c.name = 'SESS_NO'
select 'SNP_SESS_STEP', COUNT(*) from SNP_SESS_STEP WHERE SESS_NO = 117180
select 'SNP_SESS_STEP_LV', COUNT(*) from SNP_SESS_STEP_LV WHERE SESS_NO = 117180
select 'SNP_SESS_TASK', COUNT(*) from SNP_SESS_TASK WHERE SESS_NO = 117180
select 'SNP_SESS_TASK_LOG', COUNT(*) from SNP_SESS_TASK_LOG WHERE SESS_NO = 117180
select 'SNP_SESS_TASK_LS', COUNT(*) from SNP_SESS_TASK_LS WHERE SESS_NO = 117180
select 'SNP_SESS_TXT_LOG', COUNT(*) from SNP_SESS_TXT_LOG WHERE SESS_NO = 117180
select 'SNP_SESSION', COUNT(*) from SNP_SESSION WHERE SESS_NO = 117180
select 'SNP_LPI_EXC_LOG', COUNT(*) from SNP_LPI_EXC_LOG WHERE SESS_NO = 117180
select 'SNP_LPI_STEP_LOG', COUNT(*) from SNP_LPI_STEP_LOG WHERE SESS_NO = 117180
select 'SNP_PARAM_SESS', COUNT(*) from SNP_PARAM_SESS WHERE SESS_NO = 117180
select 'SNP_SEQ_SESS', COUNT(*) from SNP_SEQ_SESS WHERE SESS_NO = 117180
select 'SNP_STEP_LOG', COUNT(*) from SNP_STEP_LOG WHERE SESS_NO = 117180
select 'SNP_TASK_TXT', COUNT(*) from SNP_TASK_TXT WHERE SESS_NO = 117180
select 'SNP_VAR_SESS', COUNT(*) from SNP_VAR_SESS WHERE SESS_NO = 117180
Edited by: user8351875 on Mar 23, 2012 10:58 AM
Similar Messages
-
I'm sure this is doable, but I'm just too dense to see it...
Load Plans are really cool -- I like the way it organizes steps (large Packages are cumbersome and while I have encapsulated with Scenarios it can get tricky for me) and I really like the way results get piped back to Operator. I will admit that the parallelism isn't a needed feature at this point but it's nice to have.
So now that I'm full of Load Plan love, I have a proof of concept Package that loops the records in a table that I want to emulate in a Load Plan. The Package is very similar to this: http://blogs.oracle.com/dataintegration/entry/using_variables_in_odi_creatin
Through blind stumbling, I have gotten all of the components of my proof-of-concept Package loop into a Load Plan but I can't figure out how to loop in a LP.
Test for a value? Yes.
Force a Refresh Variable to refresh? Yes.
But how do I tell the LP to execute a series of steps and then jump right back to the beginning? I know that I could just list it out (it's 10 steps) but the whole point of a loop (I know everyone knows this but it helps me) is to repeat a process till a counter hits a value.
I can certainly include my looping Package within an overall LP, but I wonder if I can do away with the Package altogether.
What oh what am I missing?
Thanks,
Cameron LackpourYou're not missing anything I'm afraid, loops are not currently supported functionality in load plans.
-
Grant permission to all packages in another schema
Is there a way I can grant access to all the packages in another user's schema?
Please guide me.
Thanks!The one way is to use cursor :
BEGIN
FOR Rec IN (SELECT object_name, object_type FROM all_objects WHERE owner='SOURCEUSER' AND object_type IN ('PACKAGE')) LOOP
EXECUTE IMMEDIATE 'GRANT EXECUTE ON SOURCEUSER.'||Rec.object_name||' TO TARGETUSER';
END IF;
END LOOP;
END;Edited by: Radrigez on 13.07.2011 21:38 -
Thumbrule for Start/End Routines Usage
Friends,
Is there any thumb rule to decide when to use start or end routine in BW 7 in transformations ? Can anybody provide a scenario for demonstration .. from performing simple lookups on different DSOs to get descriptions vs any other specific scenarios.. Is there any scenario in which only start or only end routine can be performed.. ?
Any thoughts would be great..?
thanks,
SunilStart routine is totally concerned with source data , where you need to write logic for source_package.
Start routine will execute before transformation execution.
Executes packageby package.
loop at source_package into source-feilds.
End routine works on target structure and we have lo write logic on result_package.
Genarally dso lookups are concerned with end routines.
loop at result_package into result-feilds.
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/609eea32-455e-2c10-c08a-c23adf8c934e
http://forums.sdn.sap.com/thread.jspa?threadID=1963087
Regards,
rvc -
End Routine Implementation Issue
Hi Colleagues,
I want to implemente an end routine in order to populate the material type from the material master data.
The source structure of my transformation contain the material.
The target structure of my transformation contain the material and material type infoobject.
I have implemented the following source code in the end routine based on the sdn doc below :
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e73bfc19-0e01-0010-23bc-ef0ad53f2fab
My source code is :
Global data declaration
List of all Employees and corresponding sales organisation
DATA: BEGIN OF I_S_MATERIAL_TYPE,
MATERIAL TYPE /BI0/PMATERIAL-MATERIAL,
MATERIAL_TYPE TYPE /BI0/PMATERIAL-MATL_TYPE,
END OF I_S_MATERIAL_TYPE.
DATA: i_t_material_type like table of I_S_material_type.
METHOD end_routine.
*=== Segments ===
FIELD-SYMBOLS:
<RESULT_FIELDS> TYPE tys_TG_1.
DATA:
MONITOR_REC TYPE rstmonitor.
$$ begin of routine - insert your code only below this line -
local data declaration
data: e_s_result type tys_TG_1.
data: e_t_result type tyt_TG_1.
data: material_type like e_s_result-matl_type.
read master data in local table once
SELECT MATERIAL MATL_TYPE FROM /BI0/PMATERIAL
into corresponding fields of table i_t_material_type
WHERE MATERIAL = <RESULT_FIELDS>-material
AND objvers = 'A'.
Do the calculation and add the new rows
*>>
loop over the input result data package
loop at RESULT_PACKAGE into e_s_result.
get Counter
read table i_t_material_type into e_t_result with key
material = e_s_result-material.
move material_type to e_s_result-matl_type.
append e_s_result to e_t_result.
endloop.
add the lines to the output package
refresh RESULT_PACKAGE.
move e_t_result[] to RESULT_PACKAGE[].
$$ end of routine - insert your code only before this line -
ENDMETHOD. "end_routine
$$ end of routine - insert your code only before this line -
ENDMETHOD. "end_routine
I have the following error message :
E:"E_T_RESULT" cannot e converted to the line type of
"ME->I_T_MATERIAL_TYPE"
Question :
Can someone explain me what is the issue in my source code ?
Cheers,Hi Vijay,
Thanks for your precious answer !
I have modified the matl_type - but I still have the same error message on the read table coding part.
Error message: E:"E_T_RESULT" cannot be converted to the line type of
"ME->I_T_MATL_TYPE".
Global data declaration
List of all Employees and corresponding sales organisation
DATA:
BEGIN OF I_S_MATL_TYPE,
MATERIAL TYPE /BI0/PMATERIAL-MATERIAL,
MATL_TYPE TYPE /BI0/PMATERIAL-MATL_TYPE,
END OF I_S_MATL_TYPE.
DATA: i_t_matl_type like table of I_S_matl_type.
local data declaration
data: e_s_result type tys_TG_1.
data: e_t_result type tyt_TG_1.
data: matl_type like e_s_result-matl_type.
read master data in local table once
SELECT MATERIAL MATL_TYPE FROM /BI0/PMATERIAL
into corresponding fields of table i_t_matl_type
WHERE MATERIAL = <RESULT_FIELDS>-material
AND objvers = 'A'.
Do the calculation and add the new rows
loop over the input result data package
loop at RESULT_PACKAGE assigning <result_fields>.
Error message: E:"E_T_RESULT" cannot be converted to the line type of*
"ME->I_T_MATL_TYPE".*
read table i_t_matl_type into e_t_result with key
material = e_s_result-material.
<RESULT_FIELDS>-matl_type = i_t_matl_type-matl_type
Modify result_pacakage from <result_fields>
endloop. -
Store data from a table into excel sheet and email
Hi all,
I am just wondering, i m not sure where to start. I want to insert data from a table into an excel spread sheet.
I'm working on a stored procedure with 3 input parameters:
1. the actual query
2. userid
3. the column headers (comma separated) - these will be in the same order as the outer select statement in the query itself. I will use the column headers for the respective columns in Excel worksheet.
When the proc is executed, the excel is populated. If the record count is > 65536, then I need to create multiple worksheets in the same excel file.
How can i do that? Can any body please help with this..?We are doing like this ( Not sure whether it is the best method available)
--Get the output of the query (Since the number of columns is not fixed you would have to use dbms_sql package)
--loop through the output and write into a file, for example test.csv, using UTL_FILE package
--load the file into a blob variable(we are doing it by loading it into a table)
--For mailing You can use the below package
http://www.oracle.com/technology/sample_code/tech/pl_sql/htdocs/Utl_Smtp_Sample.html
Mailing code we are using is given below:
CREATE OR REPLACE procedure xls_mail(
p_sender varchar2, -- sender, example: 'Me <[email protected]>'
p_recipients varchar2, -- recipients, example: 'Someone <[email protected]>'
p_subject varchar2, -- subject
p_text varchar2, -- text
p_filename varchar2, -- name of xls file
p_blob blob -- xls file
) is
conn utl_smtp.connection;
i number;
len number;
BEGIN
conn := demo_mail.begin_mail(
sender => p_sender,
recipients => p_recipients,
subject => p_subject,
mime_type => demo_mail.MULTIPART_MIME_TYPE);
demo_mail.begin_attachment(
conn => conn,
mime_type => 'application/xls',
inline => TRUE,
filename => p_filename,
transfer_enc => 'base64');
-- split the Base64 encoded attachment into multiple lines
i := 1;
len := DBMS_LOB.getLength(p_blob);
WHILE (i < len) LOOP
IF(i + demo_mail.MAX_BASE64_LINE_WIDTH < len)THEN
UTL_SMTP.Write_Raw_Data (conn
, UTL_ENCODE.Base64_Encode(
DBMS_LOB.Substr(p_blob, demo_mail.MAX_BASE64_LINE_WIDTH, i)));
ELSE
UTL_SMTP.Write_Raw_Data (conn
, UTL_ENCODE.Base64_Encode(
DBMS_LOB.Substr(p_blob, (len - i)+1, i)));
END IF;
UTL_SMTP.Write_Data(conn, UTL_TCP.CRLF);
i := i + demo_mail.MAX_BASE64_LINE_WIDTH;
END LOOP;
demo_mail.end_attachment(conn => conn);
demo_mail.attach_text(
conn => conn,
data => p_text,
mime_type => 'text/html');
demo_mail.end_mail( conn => conn );
END; -
ABAP assistance - start routine logic in update rule
I have used an existing update rule and have based my logic around the same. The purpose of the rule is to look up customer master data and get a subset of customer numbers from the transaction records so that the values for customer number from the transactional data will not be updated if it does not match with existing master data customer numbers.
The loads are full and we drop the data before we load.
I have listed the logic below (the number at the front is to be considered as the line number) and a list of open questions that I have thereafter:
Start routine logic:
1 DATA: l_index LIKE sy-tabix.
2 DATA: BEGIN OF ls_customer,
3 customer TYPE /BI0/OICUSTOMER,
4 objver TYPE RSOBJVERS,
5 END OF ls_customer,
6 lt_customer LIKE TABLE OF ls_customer.
7 REFRESH: lt_customer.
8 LOOP AT DATA_PACKAGE.
all customers from data package
9 ls_customer-custno = DATA_PACKAGE-custid.
10 ls_customer-objver = 'A'
11 APPEND ls_customer TO lt_customer.
12 ENDLOOP.
12 SORT lt_customer.
13 DELETE ADJACENT DUPLICATES FROM lt_customer.
14 IF NOT lt_customer[] IS INITIAL.
15 SELECT /BI0/OICUSTOMER RSOBJVERS
16 FROM /BI0/PCUSTOMER
17 INTO CORRESPONDING FIELDS OF TABLE lt_customer
18 FOR ALL ENTRIES IN lt_customer
19 WHERE ls_customer-custno = DATA_PACKAGE-custid
20 AND ls_customer-objver = 'A'
21 SORT lt_customer BY customer ASCENDING
22 ENDIF.
Questions
Line
1 - what is the purpose of this line? What is it that is being declared
2 - in some code I have seen this line with OCCURS 0 at the end what does this mean with and without the term?
4 - I am using the Data Element name is this correct or should I use the field name?
3 - 5 here I declare an internal structure/table is that correct?
6 - here I declare a work area based on the internal table is that correct?
7 - What would happen if I avoided using the REFRESH statement?
8 - 12 - Is this syntactically correct, I am trying to get a set of data which is the customer numbers which match the master data customers and the master data record is án active version and than appendíng to the work area?
13 - My understanding is this will reduce the number of records in the work area is this correct and needed?
14 - 22 I am trying to identify my required set of data but feel I am repeating myself, could someone advise?
Finally what logic would I actually need to write in the key figure object, could I use something like:
Result = lt_customer.
Thanks
Edited by: Niten Shah on Jun 30, 2008 8:06 PM1. This line is not required
2. OCCURS 0 is the OLD way of defining an internal table with that structure. As it is, it just defines a flat structure.
3. Data element is usually best
3-5 Yes
6. No. Here you are declaring a table of the type of the flat structure. Just as the ABAP says!
7. Nothing. But by putting this in, you ensure that you know the state of the table (empty) before you start looping through the data package
8-12. You can tell if it is syntactically correct by pressing Ctrl-F2 when in the editor. Looks ok.
13. Ensures your list of customers contains no duplicated. The code up to this point is building a list of all the unique customers in the data package.
14-22. Goes to the database and brings back ONLY those customers which are found in the master data. Looks ok.
This is a start routine (that's why you've got a data package). You don't use result. You should update the datapackage. But this you haven't done. Double click on the table name /BIC/PCUSTOMER to get the correct field names.
So you have to loop through the data package again, and check if the customer in the datapackage is lt_customer. If it is, fine, otherwise you blank it and report an error, or set an error message or whatever.
I wouldn't do it like this. I'd do something like this:
STATICS: st_customer TYPE HASHED TABLE OF TYPE /bi0/oicustomer
WITH UNIQUE KEY TABLE_LINE.
* st_customer retains its value between calls, so only populate if empty
* In one run of the infopackage, this will mean you do only one read of
* the master data, so very efficient.
IF st_customer IS INITIAL.
SELECT customer FROM /BI0/PCUSTOMER
INTO TABLE st_customer
WHERE objvers EQ 'A'. " Only active values
ENDIF.
* Go through data package
LOOP AT DATA_PACKAGE.
* Check whether the customer exists.
READ TABLE st_customer TRANSPORTING NO FIELDS
WITH TABLE KEY table_line = DATA_PACKAGE-custid.
CHECK sy-subrc IS NOT INITIAL.
* If you get here, the customer isn't valid. So I'm just setting it blank
CLEAR DATA_PACKAGE-custid.
MODIFY DATA_PACKAGE. " Updates the datapackage record
ENDLOOP.
Even this is not fully optimised, but it's not bad.
I strongly suggest that you get yourself sent on the basic ABAP programming course if you're going to do a lot of this. Otherwise, read the ABAP documentation in the help.sap.com, and, from the editor, get the cursor on each ABAP keyword and press F1 to read the ABAP help.
matt -
UTL_MAIL --- ORA-30678: too many open connections
Hello,
I have a pl/sql package that sends out emails using UTL_MAIL pkg pointing to an Exchange server, an APEX app calls this pkg.. This package used to work fine for months but I recently noticed that some emails are not being sent as expected. The package loops through a set of action items satisfying some conditions and send emails based on that ( this number is expected to grow every day ). I checked the errors log and I found this error:
ORA-30678: too many open connections
I think this means that I have to close the connection everytime I send en email, but UTL_MAIL does NOT have a function or a proc to close connections, right ?
I don't know what causes this error to happen, but I suspect that this started happening right after we re-pointed the UTL_MAIL pkg from a Lotus Notes server to an Exchange server.
I am also seeing this error:
ORA-29279: SMTP permanent error: 501 5.1.3 Invalid address
I know where this error comes from (usually a null email id in the FROM or TO field ), but can this be causing the first error to happen ?
Please advise if you got this error before, is it a bug in oracle 10g as I read in some blog ? or is the second error happening make the Exchange server refuse SMTP connections ???
Thanks,
SamHi Sam,
seems to be a bug in UTL_MAIL if you ask me, as you are right - there is only /send/, no option to close, so I'd expect this to be done automatically.
Anyway, though UTL_MAIL is usable for basic mailing, I prefer using a custom mail implementation based on UTL_SMTP. The most important reason is that most mail servers don't work without authentication. And if you have done this once, you can reuse the function/procedure/package as simple as UTL_MAIL. The good news is, that there are several examples published that provide you with the functionality you have in UTL_MAIL at once - with the difference, that you definetly get your connection closed when you expect it to be closed.
You'll also be able to handle empty addresses. Perhaps this error actually causes UTL_MAIL to "forget" to close the connection, if this exception isn't caught before in order to close an open connection before raising it to the outside.
One example implementation for using UTL_SMTP can be found [url http://www.morganslibrary.com/reference/pkgs/utl_smtp.html]here
-Udo -
Selecting Data from DSO via ABAP Routine
Hello,
i dont know how to solve my special requirements with sap bw. Maybe you have some idea.
I have a row of data in my DSO, which is like:
Date ObjectA ObjectB Amount
2014 08 18 testA testB 1000
2014 08 19 testA testC 500
2014 08 20 testA testB 2000
I want to have a key figure in my reports, which shows a special smoothed average per day of the past 3 months for each day-object combination.
The formula how the average is calculated, should be neglected in that example.
Date ObjectA ObjectB Amount smoothed average
2014 08 18 testA testB 1000 900
2014 08 19 testA testC 200 150
2014 08 20 testA testB 2000 950
2014 09 20 testA testB 3000 1000
My first idea was that I have to create that key figure in the transformation from DSO to my cube, because there is no option for that advanced calculations in queries.
So I need access to all the data in my DSO while i am in an abap environment in the transformation routine. I need that because i have to do calculations from data in the past. How can I achieve this? Or are there other ways to solve my requirements?
I hope you can help.
Best regards
SimonYou should utilize the start routine or end routine functionality of a 7.x transformation.
You can read from the DSO active table which has the naming convention: /BI0/A + dsoName + 00 (business content dso) or /BIC/A + dsoName + 00.
For example in end routine:
//local data declaration
DATA: lt_dso TYPE standard table of /bic/azfi_o0100.
FIELD-SYMBOLS: <fs_dso> type /bic/azfi_o0100.
//get data
SELECT *
FROM /bic/azfi_o0100
INTO table lt_dso
FOR ALL ENTRIES IN RESULT_PACKAGE
WHERE objectA = objectA AND
objectB = objectB.
SORT lt_dso BY objectA objectB.
//populate result package
LOOP AT RESULT_PACKAGE ASSIGNING <result_fields>.
READ TABLE lt_dso ASSIGNING <fs_dso>
WITH KEY objectA = <result_fields>-objectA
objectB = <result_fields>-objectB
binary search.
//do calculation...
<result_fields>-zsmoothavg = ...
ENDLOOP. -
Dynamic Field Symbols with Structures
Hello,
I am stuck on a piece of code and looking for some help. I am trying to figure out how to assign values in a structure of a dynamically defined field symbol to the structure inside another dynamically defined field symbol. Here is my code and some comments. Basically I am uploading data via a flatfile and placing it into a dynamically defined field symbol.
DATA:
lr_area TYPE REF TO cl_sem_planarea_attributes,
lr_t_data TYPE REF TO data,
lr_s_data TYPE REF TO data,
lr_s_chas TYPE REF TO data,
lr_s_kyfs TYPE REF TO data.
FIELD-SYMBOLS:
<lt_data> TYPE STANDARD TABLE,
<ls_data> TYPE ANY,
<ls_chas> TYPE ANY,
<ls_kyfs> TYPE ANY.
DATA: ls_chasel TYPE upc_ys_chasel,
ls_charng TYPE upc_ys_charng.
FIELD-SYMBOLS:
<f> TYPE ANY,
<chas> TYPE TABLE,
<kyfs> TYPE ANY.
CALL METHOD cl_sem_planarea_attributes=>get_instance
EXPORTING i_area = i_area
RECEIVING er_instance = lr_area.
CHECK sy-subrc = 0.
CREATE DATA lr_s_data TYPE (lr_area->typename_s_data).
ASSIGN lr_s_data->* TO <ls_data>.
CREATE DATA lr_t_data TYPE (lr_area->typename_t_data).
ASSIGN lr_t_data->* TO <lt_data>.
CREATE DATA lr_s_chas TYPE (lr_area->typename_s_chas).
ASSIGN lr_s_chas->* TO <ls_chas>.
CREATE DATA lr_s_kyfs TYPE (lr_area->typename_s_kyfs).
ASSIGN lr_s_kyfs->* TO <ls_kyfs>.
LOOP AT gt_file INTO ls_file.
CLEAR <ls_data>.
MOVE-CORRESPONDING ls_file TO <ls_kyfs>. " Map key figures
MOVE-CORRESPONDING ls_file TO <ls_chas>. " Map chars
* MOVE-CORRESPONDING ls_file TO <ls_data>. " Map data
* ASSIGN COMPONENT 'ls_chas' OF STRUCTURE <ls_Data> TO <chas> .
* IF sy-subrc = 0.
** <chas> = <ls_chas>.
*MOVE-CORRESPONDING <ls_chas> to <chas>.
* ENDIF.
<chas> = <ls_chas>.
LOOP AT <chas> INTO ls_chasel.
READ TABLE ls_chasel-t_charng INTO ls_charng INDEX 1.
IF sy-subrc = 0 AND ls_charng-option = 'EQ'.
ASSIGN COMPONENT ls_chasel-chanm OF STRUCTURE <ls_chas> TO <ls_data>.
IF sy-subrc = 0.
<ls_data> = ls_charng-low.
ENDIF.
ENDIF.
ENDLOOP.
COLLECT <ls_data> INTO <lt_data>.
ENDLOOP.
Ls_chasel has 2 components:
Chanm (a char 30 which contains the component’s name)
T_CHARNG (a table with values for chanm)
Ls_data has 2 components:
S_chas (a structure with a list of components and values – same list as would have)
S_kyfs (a structure with a list of components and values – same list as would have)
Lt_data is a table of ls_data
I need to get the data in ls_chas into the ls_chas structure of ls_data and the ls_kyfs data into the ls_kyfs structure of ls_chas and append ls_chas to lt_data. Anything that is commented out is something I tried that didn't work. RIght now I get a dump at the 'loop at <chas> into ls_chasel' that the field symbol is not assigned.
Thanks for your help!It looks like the the original poster didn't completely understand all he was doing. (This is why I always recommend getting an ABAP programmer in for what is, essentially, advanced ABAP programming, rather than someone "kind of familiar" with ABAP trying it - we're often available at very reasonable rates ).
It seems he's using ito_chasel to set the fixed values (which is in fact quite smart!). What isn't required, so far as I can tell without implementing, are any of the statements involving <ls_kyfs> or <ls_chas>.
The following should be sufficient (with the necessary declarations etc. - but really: omit <ls_kyfs> and <ls_chas> - I'm sure they're not needed and they confuse things).
" Go through the data from the flat file
LOOP AT gt_file INTO ls_file.
CLEAR <ls_data>.
" Transfer the characteristics
MOVE-CORRESPONDING ls_file TO <s_chas>.
" Transfer the key figure
MOVE-CORRESPONDING ls_file TO <s_kyfs>.
" Go through the fixed characteristic selections from the package
LOOP AT ito_chasel INTO ls_chasel.
" We only care about the first value (if there is one).
READ TABLE ls_chasel-s_charng INTO ls_charng INDEX 1.
" Check there is a first value and that it is fixed
CHECK sy-subrc IS INITIAL AND ls_charng EQ 'EQ'.
" Get access to that characteristic
FIELD-SYMBOLS <fixed_value> TYPE ANY.
ASSIGN COMPONENT ls_chasel-chanm OF STRUCTURE <s_chas> TO <fixed_value>.
" Make sure that it exists in the data structure
CHECK sy-subrc IS INITIAL.
" Set the value
<fixed_value> = ls_charng-low.
ENDLOOP.
COLLECT <ls_data> INTO <lt_data>.
ENDLOOP. -
Hi Gurus,
We are nw04s BI SP10 and I've completely implemented Note 981194. I can't seem to get my start routine update rules to convert using Transformation Erzeugen. I tried several scenarios, and still no success.
If somebody has code for BI 7 transformation start routine for datasources 2LIS_03_BX, BF and UM to the 0IC_C03 cube, I would greatly appreciate an email to [email protected] . Points will be assigned. I can cut/paste the routines from the update rules, I just need the start routines.
Kind Regards,
AlexAlex
Don't trust the converter - you have to check it all from end to end anyway so might as well do it manually.
I did the whole of _BF yesterday.
Here's the start routine.
*<2004s code>
field-symbols:
<fs_SOURCE_PACKAGE> type tys_sc_1.
only movements from to evaluated stocks are concerned
if stock-category is not intitial -> Delete from data-packag
or Header of generic article -> Delete from data-packag
loop at SOURCE_PACKAGE assigning <fs_SOURCE_PACKAGE>.
if not <fs_SOURCE_PACKAGE>-bsttyp is initial
or ( <fs_SOURCE_PACKAGE>-bwvorg = '450' and
<fs_SOURCE_PACKAGE>-bwapplnm = 'IS-R' ) .
delete SOURCE_PACKAGE.
endif.
endloop.
*</2004s code>
Cheers
Guy -
Hi!
I made a system upgrade with pacman -Syu
However the graphical interface isn't loaded after booting.
I can see only a blinking cursor.
I tried to downgrade - with the "downgrade" command - xorg-server, nouveau-dri, linux (kernel) but no success. After login I have to issue the command: "sudo systemctl stop lxdm.service", because I always lose the terminal, it is switched back to the tty1 continuously. I am using elinks to type my question. What can I do to regain the graphical interface?Thx, I even tried to install the nvidia-173xx driver, but I should downgrade xorg-server for that. When I tried that I experienced a conflicting package loop between xf86-input-evdev and xorg-server packages.
I also tried generate new xorg.conf file with Xorg -configure. I noticed that in the new file the driver was set to the value "modesetting". However I have an NVidia FX5200 card, and as far as I know in the former xorg.conf file the driver section was "nv".
In my xorg.log file there are a few error messages, for example, "no driver found" and "no screen found".
It also shows that my video card has a kernel mode driver "claiming it" and the xorg-server won't work until it has been unloaded.
Then I removed xorg-server completely with pacman -Rdd xorg-server. The result was I can login without problem to the console, there is no switching backs to the first console continuously.
Last edited by Bailando (2015-05-15 01:24:49) -
Very Critical!!!! Please!! Please!! help me on this
Hi
This is very critical, please give me a solution... if you want i will send you the whole code of the program.
Below is the code of the program:
read a message short and long text using the BAPI *
BAPI_MESSAGE_GETDETAIL of the object BapiService. *
REPORT ZSRJVBAPI.
TYPES: BEGIN OF TY_PRCTR_KEY,
PRCTR TYPE PRCTR,
DATBI TYPE DATBI,
END OF TY_PRCTR_KEY.
TYPES: TY_T_PRCTR_KEY TYPE TABLE OF TY_PRCTR_KEY WITH KEY PRCTR,
TY_T_BUKRS TYPE TABLE OF BUKRS.
Data declaration
DATA: GT_PRCT1_BUKRS TYPE TABLE OF PRCT1_BUKRS,
GS_PRCT1_BUKRS TYPE PRCT1_BUKRS,
GT_PRCT1_BUKRSX TYPE TABLE OF PRCT1_BUKRSX,
GS_PRCT1_BUKRSX TYPE PRCT1_BUKRSX,
GT_BUKRS TYPE TY_T_BUKRS,
GD_BUKRS TYPE BUKRS,
GS_TESTRUN TYPE BAPI0015_9,
GS_PRCTR_DATA TYPE PRCT1,
GS_PRCTR_DATAX TYPE PRCT1X,
GD_PRCTR TYPE PRCTR,
GS_TKA01 TYPE TKA01,
GS_PRCTR TYPE TY_PRCTR_KEY,
GT_PRCTR TYPE TY_T_PRCTR_KEY,
GS_BAPIRET1 TYPE BAPIRET2,
GS_BAPIRET2 TYPE BAPIRET2,
GD_LOG_HANDLE TYPE BALLOGHNDL,
GS_LOG TYPE BAL_S_LOG,
GS_MSG TYPE BAL_S_MSG,
GS_CONTEXT TYPE BAPI0015ID2,
GS_DISPLAY_PROFILE TYPE BAL_S_PROF,
GS_FCAT TYPE BAL_S_FCAT.
DATA: BEGIN OF GS_JVDAT OCCURS 0.
DATA: BUKRS LIKE GD_BUKRS.
INCLUDE STRUCTURE GJV_DATA.
DATA: END OF GS_JVDAT.
SELECTION-SCREEN BEGIN OF BLOCK SELECTION WITH FRAME.
PARAMETERS: P_KOKRS TYPE PRCT1-KOKRS VALUE CHECK OBLIGATORY,
P_GROUP TYPE PRCT1-KHINR.
SELECT-OPTIONS: SO_PRCTR FOR GD_PRCTR.
SELECT-OPTIONS: SO_BUKRS FOR GD_BUKRS.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK SELECTION.
SELECTION-SCREEN BEGIN OF BLOCK MARK WITH FRAME.
*PARAMETERS: P_ASSIGN
TYPE PRCT1_BUKRS-ASSIGN_TO_PRCTR RADIOBUTTON GROUP MARK,
P_DISPLY
TYPE PRCT1_BUKRS-ASSIGN_TO_PRCTR RADIOBUTTON GROUP MARK.
PARAMETERS: P_TEST TYPE TESTRUN DEFAULT ' ',
P_NO_CCC TYPE BOOLE_D DEFAULT SPACE NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK MARK.
SELECTION-SCREEN BEGIN OF BLOCK FILE WITH FRAME.
PARAMETERS: P_FILE TYPE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK FILE.
INITIALIZATION.
GET PARAMETER ID 'CAC' FIELD P_KOKRS.
AT SELECTION-SCREEN.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_GROUP.
SELECT SINGLE * FROM TKA01 INTO GS_TKA01 WHERE KOKRS = P_KOKRS.
authority check for groups
AUTHORITY-CHECK OBJECT 'K_PCAP_SET'
ID 'KOKRS' FIELD P_KOKRS
ID 'ACTVT' FIELD '03'.
IF SY-SUBRC <> 0.
MESSAGE E734(KH) WITH P_KOKRS.
ENDIF.
PERFORM SET_HELP IN PROGRAM SAPMKEC1
USING 'CEPC '
'KHINR '
GS_TKA01-PHINR
GS_TKA01-KOKRS
SPACE
CHANGING P_GROUP.
IF P_GROUP IS INITIAL AND SO_PRCTR[] IS INITIAL.
MESSAGE W013(Z5).
SET SCREEN SY-DYNNR.
LEAVE SCREEN.
ENDIF.
IF NOT SO_PRCTR IS INITIAL.
IF SO_PRCTR-LOW = '0000000000' AND
SO_PRCTR-HIGH = '9999999999'.
MESSAGE W011(Z5).
ENDIF.
ENDIF.
IF NOT P_GROUP IS INITIAL AND
P_GROUP = 'AMOCO_HIER'.
MESSAGE W014(Z5).
ENDIF.
IF NOT P_GROUP IS INITIAL AND NOT SO_PRCTR[] IS INITIAL.
MESSAGE E051(KM).
ENDIF.
START-OF-SELECTION.
PERFORM GET_PRCTR_AND_BUKRS TABLES GT_BUKRS
GT_PRCTR.
PERFORM GET_JV_DATA.
*END-OF-SELECTION.
build up the call table for companycodes
LOOP AT GT_BUKRS INTO GD_BUKRS.
LOOP AT GS_JVDAT WHERE BUKRS = GD_BUKRS.
GS_PRCT1_BUKRS-COMP_CODE = GD_BUKRS.
GS_PRCT1_BUKRS-ASSIGN_TO_PRCTR = 'X'.
GS_PRCT1_BUKRS-VNAME = GS_JVDAT-VNAME.
GS_PRCT1_BUKRS-RECID = GS_JVDAT-RECID.
GS_PRCT1_BUKRS-ETYPE = GS_JVDAT-ETYPE.
GS_PRCT1_BUKRS-JV_OTYPE = GS_JVDAT-OTYPE.
GS_PRCT1_BUKRS-JV_JIBCL = GS_JVDAT-JIBCL.
GS_PRCT1_BUKRS-JV_JIBSA = GS_JVDAT-JIBSA.
APPEND GS_PRCT1_BUKRS TO GT_PRCT1_BUKRS.
prepare xbar for function call
GS_PRCT1_BUKRSX-COMP_CODE = GD_BUKRS.
GS_PRCT1_BUKRSX-ASSIGN_TO_PRCTR = 'X'. "relevant for change
GS_PRCT1_BUKRSX-VNAME = 'X'.
GS_PRCT1_BUKRSX-RECID = 'X'.
GS_PRCT1_BUKRSX-ETYPE = 'X'.
GS_PRCT1_BUKRSX-JV_OTYPE = 'X'.
GS_PRCT1_BUKRSX-JV_JIBCL = 'X'.
GS_PRCT1_BUKRSX-JV_JIBSA = 'X'.
APPEND GS_PRCT1_BUKRSX TO GT_PRCT1_BUKRSX.
ENDLOOP.
ENDLOOP.
create an initial log file
GS_LOG-EXTNUMBER =
'Ergebnisse der Buchungskreisänderung'(001).
CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING
I_S_LOG = GS_LOG
IMPORTING
E_LOG_HANDLE = GD_LOG_HANDLE
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
GS_TESTRUN-TESTRUN = P_TEST.
call the change function module
LOOP AT GT_PRCTR INTO GS_PRCTR.
GS_PRCTR_DATA-PRCTR = GS_PRCTR-PRCTR.
GS_PRCTR_DATA-KOKRS = P_KOKRS.
GS_PRCTR_DATA-KHINR = P_GROUP.
GS_PRCTR_DATA-DATAB = GS_PRCTR-DATBI.
GS_PRCTR_DATA-DATBI = GS_PRCTR-DATBI.
CLEAR GS_BAPIRET2.
CALL FUNCTION 'PROFITCENTER_CHANGE'
EXPORTING
PRCTR_DATA = GS_PRCTR_DATA "
PRCTR_DATAX = GS_PRCTR_DATAX "empty
NO_CCODES_CHECK = P_NO_CCC
COMPLETE = ' '
INACTIVE_VERSION = 'X'
TESTRUN = ' '
INSERT_MODE = ' '
IMPORTING
RETURN = GS_BAPIRET2
TABLES
COMPANYCODE_JOINT_VENTURE = GT_PRCT1_BUKRS
COMPANYCODE_JOINT_VENTUREX = GT_PRCT1_BUKRSX.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = '2'
IMPORTING
RETURN = GS_BAPIRET1.
GS_MSG-MSGTY = GS_BAPIRET2-TYPE.
GS_MSG-MSGID = GS_BAPIRET2-ID.
GS_MSG-MSGNO = GS_BAPIRET2-NUMBER.
GS_MSG-MSGV1 = GS_BAPIRET2-MESSAGE_V1.
GS_MSG-MSGV2 = GS_BAPIRET2-MESSAGE_V2.
GS_MSG-MSGV3 = GS_BAPIRET2-MESSAGE_V3.
GS_MSG-MSGV4 = GS_BAPIRET2-MESSAGE_V4.
GS_CONTEXT-CO_AREA = P_KOKRS.
GS_CONTEXT-PROFIT_CTR = GS_PRCTR-PRCTR.
GS_MSG-CONTEXT-TABNAME = 'BAPI0015ID2'.
GS_MSG-CONTEXT-VALUE = GS_CONTEXT.
CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
I_LOG_HANDLE = GD_LOG_HANDLE
I_S_MSG = GS_MSG
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDLOOP.
get display profile
CALL FUNCTION 'BAL_DSP_PROFILE_NO_TREE_GET'
IMPORTING
E_S_DISPLAY_PROFILE = GS_DISPLAY_PROFILE
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
use grid for display if wanted
gs_display_profile-use_grid = 'X'.
set report to allow saving of variants
GS_DISPLAY_PROFILE-DISVARIANT-REPORT = SY-REPID.
when you use also other ALV lists in your report,
please specify a handle to distinguish between the display
variants of these different lists, e.g:
GS_DISPLAY_PROFILE-DISVARIANT-HANDLE = 'LOG'.
set header for display
IF P_TEST = 'X'.
CONCATENATE TEXT-001 TEXT-002 INTO GS_DISPLAY_PROFILE-TITLE.
ELSE.
GS_DISPLAY_PROFILE-TITLE = TEXT-001.
ENDIF.
display the message's context as well: prctr, controllingarea
GS_FCAT-REF_TABLE = 'BAPI0015ID2'.
GS_FCAT-REF_FIELD = 'CO_AREA'.
APPEND GS_FCAT TO GS_DISPLAY_PROFILE-MESS_FCAT.
GS_FCAT-REF_TABLE = 'BAPI0015ID2'.
GS_FCAT-REF_FIELD = 'PROFIT_CTR'.
APPEND GS_FCAT TO GS_DISPLAY_PROFILE-MESS_FCAT.
call display function module
CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'
EXPORTING
I_S_DISPLAY_PROFILE = GS_DISPLAY_PROFILE
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*& Form get_prctr_and_bukrs
text
-->P_LT_BUKRS text
-->P_LT_PRCTR text
FORM GET_PRCTR_AND_BUKRS TABLES PT_BUKRS
PT_PRCTR.
DATA: LD_BUKRS TYPE BUKRS,
BEGIN OF LS_PRCTR,
PRCTR TYPE PRCTR,
DATBI TYPE DATBI,
END OF LS_PRCTR,
LT_PRCTR LIKE TABLE OF LS_PRCTR WITH KEY PRCTR,
LD_GROUPNAME TYPE SETHIER_CO-GROUPNAME,
LT_SETHIER TYPE TABLE OF SETHIER_CO,
LT_SETVAL TYPE TABLE OF SETVAL_CO,
LS_SETVAL TYPE SETVAL_CO,
LD_PACKAGE_SIZE TYPE I VALUE '500',
SO2_PRCTR TYPE RANGE OF PRCTR,
LD_NUM TYPE I,
LS_BAPIRET2 TYPE BAPIRET2.
general authority check for display (change authority is checked
in 'profitcenter_change')
AUTHORITY-CHECK OBJECT 'K_PCAS_PRC'
ID 'KOKRS' FIELD P_KOKRS
ID 'ACTVT' FIELD '03'.
IF SY-SUBRC <> 0.
MESSAGE E741(KH) WITH P_KOKRS.
ENDIF.
selection part
IF NOT P_GROUP IS INITIAL.
LD_GROUPNAME = P_GROUP.
CALL FUNCTION 'K_GROUP_REMOTE_READ'
EXPORTING
SETCLASS = '0106'
CO_AREA = P_KOKRS
CHRT_ACCTS =
GROUPNAME = LD_GROUPNAME
LANGUAGE =
IMPORTING
RETURN =
TABLES
ET_SETHIER = LT_SETHIER
ET_SETVAL = LT_SETVAL.
IF LS_BAPIRET2-TYPE CA 'AEW'.
MESSAGE ID LS_BAPIRET2-ID
TYPE 'E'
NUMBER LS_BAPIRET2-NUMBER
WITH LS_BAPIRET2-MESSAGE_V1
LS_BAPIRET2-MESSAGE_V2
LS_BAPIRET2-MESSAGE_V3
LS_BAPIRET2-MESSAGE_V4.
ENDIF.
LOOP AT LT_SETVAL INTO LS_SETVAL.
SO_PRCTR-SIGN = 'I'.
SO_PRCTR-OPTION = 'BT'.
SO_PRCTR-LOW = LS_SETVAL-VALFROM.
SO_PRCTR-HIGH = LS_SETVAL-VALTO.
APPEND SO_PRCTR.
ENDLOOP.
ENDIF.
transform select options into internal tables
SELECT BUKRS FROM TKA02 INTO TABLE PT_BUKRS[]
WHERE KOKRS = P_KOKRS
AND BUKRS IN SO_BUKRS.
read by package
LOOP AT SO_PRCTR.
IF LD_NUM = LD_PACKAGE_SIZE.
SELECT PRCTR DATBI FROM CEPC INTO TABLE LT_PRCTR
WHERE KOKRS = P_KOKRS
AND PRCTR IN SO2_PRCTR.
CLEAR: LD_NUM, SO2_PRCTR.
REFRESH SO2_PRCTR.
ENDIF.
APPEND SO_PRCTR TO SO2_PRCTR.
LD_NUM = LD_NUM + 1.
ENDLOOP.
last package
SELECT PRCTR DATBI FROM CEPC INTO TABLE LT_PRCTR
WHERE KOKRS = P_KOKRS
AND PRCTR IN SO2_PRCTR.
SORT LT_PRCTR.
DELETE ADJACENT DUPLICATES FROM LT_PRCTR.
LOOP AT LT_PRCTR INTO LS_PRCTR.
authority check for profitcenters
CALL FUNCTION 'K_PCA_RESP_AUTHORITY_CHECK'
EXPORTING
I_KOKRS = P_KOKRS
I_PRCTR = LS_PRCTR-PRCTR
I_VORGN = 'STDT' "Master Data
I_ACTVT = '03'
I_NO_DIALOG_MESSAGE = 'X' "note 447948
EXCEPTIONS
NO_AUTHORITY = 1
DATA_MISSING = 2
OTHERS = 3.
CASE SY-SUBRC.
WHEN 0.
WHEN 1.
authority error
MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
WHEN OTHERS.
stop
MESSAGE ID SY-MSGID TYPE 'A' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDCASE.
ENDLOOP.
PT_PRCTR[] = LT_PRCTR[].
ENDFORM. " get_prctr_and_bukrs
*& Form GET_JV_DATA
text
--> p1 text
<-- p2 text
FORM GET_JV_DATA.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = P_FILE
FILETYPE = 'ASC'
TABLES
DATA_TAB = GS_JVDAT
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " GET_JV_DATA
The test file should be in the below format:
BUKRS, Venture Name, RECID, ETYPE, OTYPE
0605BL0085CP1 1
Thank You,
SureshSuresh,
Sometimes there might be a delay in the values getting committed to the database. Did you try and see if the values were updated after some time.
Ideally if the BAPI has given a success message and you have a commit after that (which in this case you have), it should ideally update the concerned data.
Regards,
Ravi -
I've just installed LE 7. As a test I've recorded a few bars on one of the GM devices (Grand Piano in this case). The notes I play through the keyboard when recording do not come out. Also, on playback total silence though the sound meter is flickering.
I've tested the packaged Loops. They come through loud and clear. I've tested the metronome. Also no problem. Its just the GM instruments. I've checked the obvious; Mute, Solo etc. Nothing. I've upgraded to 7.1.1. Nothing. Is this something blindingly obvious??? Grateful for any help. Regards, Tried Everything!Hi David- not to sound too smarmy, but a lot of us who were new to the discussion boards took two or three visits before we realized we could do a search thru previous posts using the search bar. That may be the one thing DD had not realized before he posted. That being said, I was one of the people who posted the same sort of question early in my "discussion carreer", and had I known i could search straight off I probably wouldn't have. I realize given the depth of your ability it must frost you to see the same questions again and again, so good on you to supply the thread. I'm sure it will help a lot of other people who read your post. Cheers, JW
-
I am trying to install package audacious-gtk2 from AUR. When I issue makepkg -s, it comes back with:
==> Making package: audacious-gtk2 3.2.4-1 (Wed Jan 16 21:05:00 MST 2013)
==> Checking runtime dependencies...
==> Installing missing dependencies...
error: target not found: audacious-plugins-gtk2
OK, so I download and try to install audacious-plugins-gtk2. When I issue makepkg -s on it, it comes back with:
==> Making package: audacious-plugins-gtk2 3.2.4-1 (Wed Jan 16 21:04:25 MST 2013)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
error: target not found: audacious-gtk2>=3.2.4
I see that makepkg has a "-d" option to ignore dependency checks, but it looks dangerous to use.
How do I resolve this predicament?Alright I've just got to comment, I had to grab the outdated version of that simply for my preservation and amusment later. I love arch, and I enjoy seeing moments like this when someone makes a typo and a package loops. Someday when I'm old I'll be saying "When I was young we had to build from source..."
Last edited by Multimoon (2013-01-18 00:44:41)
Maybe you are looking for
-
Strange......problem with batch file in java
hi, my problem is that i have created one bat file and i want to run that file in java but it is not running properly. the problem is ....... i have created one bat file named "file1.bat" & content of this file is as follows :- [ ag > b.txt] (and con
-
Help please I used my MacBook yesterday and left it on sleep mode as usual. The battery had drained during the night. So I plugged in the charger and it started up as normal. Then a notice came up saying shut down using the power button as an unexpec
-
hi experts, Consider a scenario where my selection screen has got three parameter box : werks - plant lgort - storage location matnr - material no In search help of material,i have selected plant-warehouse-storage location tab, if i select a material
-
HT204364 How can I find a photobook that has gone missing?
I created a 70 page book that has disappeared! First it was stuttering in slideshow mode. I checked that the book was still fine in the gallery, it was all there. I quit out of a bunch of programs including iphoto. When I opened iphoto back up it s
-
Strangeness when playing the viewer backward
When shuttling backwards only in the viewer, the FCP screen will shutter, reverse colors and drop the right half of the frame. The FW out is fine. Doing the same in the viewer/tiemline the problem doesn't exist. I asked the previous user of this comp