E Sourcing 6.0 - Status
Hi All,
When is the anticipated next release of E Sourcing Version 6.0 is going to be released?
What will be the major improvements in this over the previous version 5.1.
Please guide.
Regards
Tripti
Hi Tripti,
Please check link below:
E-Sourcing/CLM - next versions?
Hope this helps
~Ankush
Similar Messages
-
How to turn off "DEBUG SOURCE=cs Setting status to 304 for file=" in access.log
I see this entry in the log file every few seconds. How can I turn this OFF? I
can set the EnableLogfile to false but then I don't get any logs. We are running
WLS 5.1.
Regards,
Pat.Pat:
I dont see this string appearing anywhere in the src in any version of th
510 line (all Sp's included).
What version of 5.1? i.e. what SP?
Are you using extended log format? Did a developer write a custom elf logger
package?
What are the ELF headers at the top of the access.log?
Cheers
mbg
"Pat" <[email protected]> wrote in message
news:[email protected]..
>
I see this entry in the log file every few seconds. How can I turn thisOFF? I
can set the EnableLogfile to false but then I don't get any logs. We arerunning
WLS 5.1.
Regards,
Pat. -
Status of Sales Order not changing
Dear Gurus,
Our client's document generation process is that they make a Sales Order for say 100pcs to their Dealer and then the Dealer wants the client to send them 20pcs on a perticular day. To inform the Plant to dispatch 20pcs to the Dealer on that day, client makes another Sales Order (referencing the first Sales Order) for 20pcs on the day of requirement, which the Plant accordingly dispatches after VL01n and VF01.
Now the issue is since we are referencing OR doc type with another OR doc type, system is not changing the status of the first OR even after complete reference, but the second OR is changing to 'Completed' after full referencing to an OBD.
I checked all the combinations but it is not changing. I tried many combination in VTAA for OR to OR and also in VOV7 for diff combinations of Completion Rule.
What else can I do? Kindly help me out here, for which I will ever be greatful.
Thanks and regards
Venkat - Hydwrt: your requirement, have tested & found source doc OR- status is not updating.
But it seems its std behaviour of SAP
eg:
As we know,-Sales Order status will be update based on std customization @ Copy Control / Source doc item category level.
Where as in Std OR - once we create the delivery wrt:OR, then based on copy control maintained as said by the other mates, Order status will get updated accordingly.
Here, OR is created ( updated in delivery due list, status is open).
Now you created another OR wrt: first OR, then there is conflict, in order status updation, because here source document is same in both the cases ( creating subsequent document of Source doc & second OR).
But as per system, first OR status is getting udpated once delivery is created, until then it is in "OPEN" status only, though you create one more OR wrt:first OR.
NOTE: if it is your client requirement you have to go for new documen type ( in std: its given as Contract / Quotation etc..,)
Small observation is, in VTAA Copy control from OR-OR,
status will not get update & the document flow is left blank. Which means, this flow can be used to just create a copy of the actual document w/o updating the status, assumes it can be used to send an order confirmation for a single material , where in actual document contains multi materials.( its just an eg: may not be for single material, could be for any reason) -
Vendor publish not working from Sourcing to ECC
Hello Experts,
When we are publishing vendor from SAP Sourcing to ECC status becomes waiting for replicated and gives no error but XML is not getting created in FTP outbound folder and due to this vendors are not being able to published from sourcing to ECC. We have checked the integration setting and these seems to be fine as RFX award publish is working fine from Sourcing to ECC which also uses the same path to integrate.
The issue is in our PRODUCTION system whereas it is working fine in Dev and TEST environment. Are we missing any setttings which generates XML?
Regards,
Rakesh DaiyaHi Prasad,
Thanks for the response,
Scheduled Tasks are working fine for the import of materials and vendors from ECC and picking the data from the FTP folder.
But only the outbound of vendors not working, i checked in the logs but could not found any errors even in debug logs it is not generating the XML (I checked in the dev instance and while publishing it is creating XML in the logs as well).
Do we need to do any configuration to generate XML when publishing Vendor or its a standard process to do so?
Regards,
Rakesh Daiya -
I have an item that is of type 'Select List'. When I branch to the page I would like the value stored in the database to be the default value displaying but instead a random value in the LOV is displaying. I have entered my sql query in the Source field but it is not pulling and displaying that value as the default when I branch to the page.
Example
Item: P500_status
Source Query: Select status from table where id=:p500_id
Dynamic LOV: select distinct status from table
Source Query Result: Open
Dynamic LOV Result: Closed, Open, Pending, Reopened...
When the page displays, the item has the value of 'Closed' in it rather than displaying 'Open' and then listing the others in the drop-down. Is Source supposed to be ignored in this case?Thanks for your quick responses. The example I posted above was an abbreviated version of what I'm trying to do.
Here is the URL:
http://dragon:7778/pls/htmldb/f?p=201:6005:378973494406918986::NO::P6005_FIELD_VALUE_ID:38
This is the section from below that I am interested in. The value that should default in the box is 'Priority' but 'Field' is the value that it is defaulting to.
0.06: FORMITEM: P6005_FIELD_PARENT COMBOBOX
Field Parent Fields Status Category Priority Cause Current Status Module Groups Product
Debug Output:
0.01: S H O W: application="201" page="6005" workspace="" request="" session="378973494406918986"
0.01: ...Language derived from: FLOW_PRIMARY_LANGUAGE, current browser language: en-us
0.01: alter session set nls_language="AMERICAN"
0.01: alter session set nls_territory="AMERICA"
0.01: ...Setting NLS Decimal separator="."
0.02: NLS: Language=en-us
0.02: Application 201, Authentication: CUSTOM2, Page Template: 5788518891782227
0.02: ...Determine if user ADMIN with SGID 773723725112169 can develop application 201 in workspace 773723725112169
0.02: ...ok to reuse builder session for user:HTMLDB_PUBLIC_USER
0.02: ...Application session: 378973494406918986, user=HTMLDB_PUBLIC_USER
0.02: ...Determine if user ADMIN with SGID 773723725112169 can develop application 201 in workspace 773723725112169
0.02: Fetch session header information
0.03: Branch point: BEFORE_HEADER
0.03: Fetch application meta data
0.03: ...fetch page attributes: f201, p6005
0.03: Fetch session state from database
0.04: Computation point: BEFORE_HEADER
0.04: Processing point: BEFORE_HEADER
0.04: Show page template header
0.05: Computation point: AFTER_HEADER
0.05: Processing point: AFTER_HEADER
Print
Logout
HTMLDB_PUBLIC_USER
0.05: Computation point: BEFORE_BOX_BODY
0.05: Processing point: BEFORE_BOX_BODY
0.05: Region 1:Edit Selected Field Edit Selected Field Delete
Save
0.05: FORMITEM: P6005_FIELD_VALUE_ID TEXT Field Value Id
0.06: FORMITEM: P6005_FIELD_PARENT COMBOBOX
Field Parent Fields Status Category Priority Cause Current Status Module Groups Product
0.06: FORMITEM: P6005_FIELD_NAME TEXT_DISABLED
Field Name
0.06: Region 2:Create New Create New Create
0.07: FORMITEM: P6005_NEW_FIELD_NAME TEXT Field Name
0.07: Computation point: AFTER_BOX_BODY
0.07: Processing point: AFTER_BOX_BODY
0.07: Computation point: BEFORE_FOOTER
0.07: Processing point: BEFORE_FOOTER
0.07: Show page tempate footer
Edit ApplicationEdit Page 6005NewSessionNo DebugHide Edit LinksShow Edit Links
0.07: Computation point: AFTER_FOOTER
0.07: Processing point: AFTER_FOOTER
0.07: Log Activity:
0.07: End Show: -
Unable to read the source URL error for cffeed
Hi,
I am using the cffeed to read from my twitter RSS feed but I get this error:
Unable to read the source URL.
Status Code: 400. Try adding or changing UserAgent attribute in the CFFeed tag
My code is:
<cfset feedurl="http://twitter.com/statuses/user_timeline/somenumbers.atom" />
<cffeed
source="#feedurl#"
properties="feedmeta"
query="feeditems1" overwrite="true" />
It works but suddenly it stops and it takes time about 15 minutes or more to work again.
Can any body help me with this?
Thanks,
MandanaOne thing which I did not mentioned is I want to have 6 pages rss feed together and I made it like this:
<cffeed
source="#feedurl1#"
properties="feedmeta"
query="feeditems1" overwrite="true"
useragent="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; WOW64; Trident/4.0; GTB6.6; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; AskTbBLPV5/5.11.3.15590)" />
<cffeed
source="#feedurl2#"
properties="feedmeta"
query="feeditems2" overwrite="true"
useragent="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; WOW64; Trident/4.0; GTB6.6; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; AskTbBLPV5/5.11.3.15590)"/>
I did it for 6 pages, each one with one cffeed and then:
<cfquery name="feeditemstotal" dbtype="query">
select * from feeditems1
union
select * from feeditems2
union
select * from feeditems3
union
select * from feeditems4
union
select * from feeditems5
union
select * from feeditems6
</cfquery> -
SC not in the sourcing cockpit after the follow-on document is deleted
HI,
In sourcing cockpit , I created a contract by SC , but I deleted the contract , the SC didn't appear in sourcing cockpit. the SOURCE_REL_IND still is 'Y', I have no way to create new contract by the SC .
I don't know if it is the standard functionatity, It seem to be not reasonable.
Please tell me the solution that SC can be back to sourcing cockpit automatiocally.
even if I carry out the BBP_GET_STATUS_2. it still don't work.
Thanks a lot.
JesseHi
the rule is below
sc created 2 qty -- PO created 2 qty -PO deleted - now order quantity and PO quantity difference is there so now SC comes to cockpit and this shopping cart item needs to sourced and PO needs be created.
i did not test below scenario.
SC CREATED - contract or Bid invitation created and now Contract / bid invitation deleted and now you are expecting this sc item comes to cockpit.
Note 1068497 - BBPSC04: Incorrect status for items completed in sourcing
Symptom
You create a shopping cart which is sent to sourcing cockpit. You create a follow-on document. For eg: Bid invitation. You delete the same and complete the item in sourcing. The status of the item in check status is shown as 'Approved' instead of 'Cannot be ordered'.
As per the above note sap rule, even though Bid Invitation deleted and reference shopping cart must venture to cockpit to create another follow on document.in your case SOURCE_REL_IND = Y instead of X. What is the item status of sc after contract / po deleted? -
No IDOCS arrived from Source system to BI for generic extraction
Hi All,
While loading data from r\3 generic data source to BI, I am facing the below problem.
1. Using Full Load:-
The request from r\3 to psa turns red after a while. The request monitor says:
Error when updating Idocs in Source System
Diagnosis
Errors have been reported in Source System during IDoc update:
System Response
Some IDocs have error status.
Procedure
Check the IDocs in Source System . You do this using the extraction monitor.
Error handling:
How you resolve the errors depends on the error message you get.
Details Tab shows : request green
Under that Extraction tab shows red
missing messages.
Transfer (IDocs and TRFC): Errors occurred .
Request IDoc : Application document not posted
I ran Transaction BD87,BD73 and execute with proper selections.
Upon checking the idoc in source system Their status is 51 , which says
Diagnosis
The control parameters for communication with the BW server are not
complete. A BW PlugIn upgrade could be the cause of the problem.
System response
Procedure
Depending on the Release of the BW server, proceed as follows:
BW Server Release 1.2B: Source system: Update InfoSource metadata
BW Server Release >= 2.0A: Source system: Activate.
Manually i tried to push the idocs in the BW and source system using TRF but i dint found any records???
Soruce system connection is fine. Profile parameters are set properly and its active .. But still am getting the same problem.
Many thanks, I'll applicate your help.!
RakeshHi
I am also facing the same problem. This happened after restoration of the original system with a copy of the production.
I am not able to get the IDOC posted in the source R3 system.
I did a debug and it failed when verifying the table, RSBASIDOC.
There appeared to be some missing records which need to be inserted.
I can't find a way to insert the missing record and since then, I am not able to proceed.
Have you resolved the issue?
can you share how it can be overcome?
Thanks a lot -
User status during reconciliation
Hi All,
I have configured AD connector for reconciliation and it is working fine. Also I have created Resource Object, Process Definition and form for multiple resources of AD, during reconciliation when event is linked user status is set to 'Provisioning' instead of 'Provisioned' as per the default functionality and during the successive recon the status is changed to 'Enabled'.
Can any one please tell me what configuration might be missing due to which the status is set to 'Provisioning' at first time.
Any pointers in this regards will be appreciated.
TIAAfter successful target source recon, the status should be 'Enabled' or 'disabled' depending on the user account status in AD. Can you look at the tasks that are executed when the status is set to 'provisioning'? Which task fails? what is logged in the logs? Could be that 'Get ObjectGUID' task is not completed and it completes before the next run of the scheduler, which is why it works fine in second run.
-
Sap pm data source enhancement
HI all,
i need to enhance pm header and operations data sources with field " user status".
MY user want to see report like user status field with both numbered nd un numbered.
so i need user status field technicl name in bw. And u suggetions to do this.
thanks in advnce.
raviHi,
first from your user requirement find the source table for status. once you got the table name then you can enhance your data source and maintain the logic at CMOD to fill data to enhanced field(status).
You can add status field to your data source by appending to extract structure at SE11 or RSA6.
Unhide it at RAS6 Once you add field to data source.
1. Replicate data source,
2. Add related info object to your upward data from this data source.
3. creating mappings at transformations save and activate all changes.
Thanks -
In SBIW under Cross Application Components and below Classification there is a node called Status Concept. Does this allow me to create DataSources which extract the status profile and its values? Thanks
Hi Niten Shah,
Under Status Concept--> Generate Data Source for a BW Status Object..In this workstep you generate an info object for a BW status object.
You Cannot Create Data Source from this Status Profile.
If you want create Generic(Custom) Data Sources .. Go to T Code: RSO2 and Create and Do it
I hope it will help for you.
Thanks
Bhima -
Data servers connection status -stopped
Hello all,
I am new to MII application and i am hoping i could get some help form experts here. I am trying to figure out (from basis side) why the connections for couple of data sources are "stopped" status. we are in 12.x version and checked the JDBC drivers ,they all look deployed. Not exactly sure where else to look, ..if anyone could give me some direction for trouble shooting that willl be great.
thanks,Hi DK MJ
1. First ist to ensure you get the right JDBC - you can search it in Internet; if you are very sure then
2. check if your Connector is IDBC, connector type SQL and the enable is checked and save.
(normally status "stopped" is because the enable is not checked and saved. If status "error" normally configuration error)
3. JDBC driver configuration for SQL 2005/2008 is com.microsoft.sqlserver.jdbc.SQLServerDriver (oracle is oracle.jdbc.driver.OracleDriver)
4. the URL is jdbc:sqlserver://<serverName>:<PortID>;DatabaseName=<DatabaseName> (for both SQL 2005/2008)
and oracle is jdbc:oracle:thin:@<serverName>:<portID>:<DBName>
5. If oracle , in ValidationQuery, leave it blank
6. User Name (should not have /)
Make sure status is running, and then I can show you what you need to do to make sure it is 100% running.
regards
sengkiang -
This works on WinXP but not Linux. Why? It takes the first frame of an animated gif and writes a thumbnail.
GifDecoder d = new GifDecoder();
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
log.debug("reading gif");
d.read(bis);
log.debug("reading framecount");
int n = d.getFrameCount();
log.debug("read framecount" + n);
for (int i = 0; i < 1; i++) {
BufferedImage frame = d.getFrame(i); // frame i
int t = d.getDelay(i); // display duration of frame in milliseconds
log.debug("resizing frame");
File gifoutputfile = new File("gif" + i + outputthumbFilename);
BufferedImage bdest = new BufferedImage(60, 60, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bdest.createGraphics();
AffineTransform at = AffineTransform.getScaleInstance((double) 60 / frame.getWidth(), (double) 60 / frame.getHeight());
g.drawRenderedImage(frame, at);
ImageIO.setUseCache(false);
ImageIO.write(bdest, "GIF", new File(outputthumbFilename));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferInt;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
* Class GifDecoder - Decodes a GIF file into one or more frames. <br>
* <pre>
* Example:
* GifDecoder d = new GifDecoder();
* d.read("sample.gif");
* int n = d.getFrameCount();
* for (int i = 0; i < n; i++) {
* BufferedImage frame = d.getFrame(i); // frame i
* int t = d.getDelay(i); // display duration of frame in milliseconds
* // do something with frame
* </pre>
* No copyright asserted on the source code of this class. May be used for any
* purpose, however, refer to the Unisys LZW patent for any additional
* restrictions. Please forward any corrections to [email protected].
* @author Kevin Weiner, FM Software; LZW decoder adapted from John Cristy's
* ImageMagick.
* @version 1.03 November 2003
public class GifDecoder {
* File read status: No errors.
public static final int STATUS_OK = 0;
* File read status: Error decoding file (may be partially decoded)
public static final int STATUS_FORMAT_ERROR = 1;
* File read status: Unable to open source.
public static final int STATUS_OPEN_ERROR = 2;
protected BufferedInputStream in;
protected int status;
protected int width; // full image width
protected int height; // full image height
protected boolean gctFlag; // global color table used
protected int gctSize; // size of global color table
protected int loopCount = 1; // iterations; 0 = repeat forever
protected int[] gct; // global color table
protected int[] lct; // local color table
protected int[] act; // active color table
protected int bgIndex; // background color index
protected int bgColor; // background color
protected int lastBgColor; // previous bg color
protected int pixelAspect; // pixel aspect ratio
protected boolean lctFlag; // local color table flag
protected boolean interlace; // interlace flag
protected int lctSize; // local color table size
protected int ix, iy, iw, ih; // current image rectangle
protected Rectangle lastRect; // last image rect
protected BufferedImage image; // current frame
protected BufferedImage lastImage; // previous frame
protected byte[] block = new byte[256]; // current data block
protected int blockSize = 0; // block size
// last graphic control extension info
protected int dispose = 0;
// 0=no action; 1=leave in place; 2=restore to bg; 3=restore to prev
protected int lastDispose = 0;
protected boolean transparency = false; // use transparent color
protected int delay = 0; // delay in milliseconds
protected int transIndex; // transparent color index
protected static final int MaxStackSize = 4096;
// max decoder pixel stack size
// LZW decoder working arrays
protected short[] prefix;
protected byte[] suffix;
protected byte[] pixelStack;
protected byte[] pixels;
protected ArrayList frames; // frames read from current file
protected int frameCount;
static class GifFrame {
public GifFrame(BufferedImage im, int del) {
image = im;
delay = del;
public BufferedImage image;
public int delay;
* Gets display duration for specified frame.
* @param n
* int index of frame
* @return delay in milliseconds
public int getDelay(int n) {
delay = -1;
if ((n >= 0) && (n < frameCount)) {
delay = ((GifFrame) frames.get(n)).delay;
return delay;
* Gets the number of frames read from file.
* @return frame count
public int getFrameCount() {
return frameCount;
* Gets the first (or only) image read.
* @return BufferedImage containing first frame, or null if none.
public BufferedImage getImage() {
return getFrame(0);
* Gets the "Netscape" iteration count, if any. A count of 0 means repeat
* indefinitiely.
* @return iteration count if one was specified, else 1.
public int getLoopCount() {
return loopCount;
* Creates new frame image from current data (and previous frames as specified
* by their disposition codes).
protected void setPixels() {
// expose destination image's pixels as int array
int[] dest = ((DataBufferInt) image.getRaster().getDataBuffer()).getData();
// fill in starting image contents based on last image's dispose code
if (lastDispose > 0) {
if (lastDispose == 3) {
// use image before last
int n = frameCount - 2;
if (n > 0) {
lastImage = getFrame(n - 1);
} else {
lastImage = null;
if (lastImage != null) {
int[] prev = ((DataBufferInt) lastImage.getRaster().getDataBuffer()).getData();
System.arraycopy(prev, 0, dest, 0, width * height);
// copy pixels
if (lastDispose == 2) {
// fill last image rect area with background color
Graphics2D g = image.createGraphics();
Color c = null;
if (transparency) {
c = new Color(0, 0, 0, 0); // assume background is transparent
} else {
c = new Color(lastBgColor); // use given background color
g.setColor(c);
g.setComposite(AlphaComposite.Src); // replace area
g.fill(lastRect);
g.dispose();
// copy each source line to the appropriate place in the destination
int pass = 1;
int inc = 8;
int iline = 0;
for (int i = 0; i < ih; i++) {
int line = i;
if (interlace) {
if (iline >= ih) {
pass++;
switch (pass) {
case 2:
iline = 4;
break;
case 3:
iline = 2;
inc = 4;
break;
case 4:
iline = 1;
inc = 2;
line = iline;
iline += inc;
line += iy;
if (line < height) {
int k = line * width;
int dx = k + ix; // start of line in dest
int dlim = dx + iw; // end of dest line
if ((k + width) < dlim) {
dlim = k + width; // past dest edge
int sx = i * iw; // start of line in source
while (dx < dlim) {
// map color and insert in destination
int index = ((int) pixels[sx++]) & 0xff;
int c = act[index];
if (c != 0) {
dest[dx] = c;
dx++;
* Gets the image contents of frame n.
* @return BufferedImage representation of frame, or null if n is invalid.
public BufferedImage getFrame(int n) {
BufferedImage im = null;
if ((n >= 0) && (n < frameCount)) {
im = ((GifFrame) frames.get(n)).image;
return im;
* Gets image size.
* @return GIF image dimensions
public Dimension getFrameSize() {
return new Dimension(width, height);
* Reads GIF image from stream
* @param BufferedInputStream
* containing GIF file.
* @return read status code (0 = no errors)
public int read(BufferedInputStream is) {
init();
if (is != null) {
in = is;
readHeader();
if (!err()) {
readContents();
if (frameCount < 0) {
status = STATUS_FORMAT_ERROR;
} else {
status = STATUS_OPEN_ERROR;
try {
is.close();
} catch (IOException e) {
return status;
* Reads GIF image from stream
* @param InputStream
* containing GIF file.
* @return read status code (0 = no errors)
public int read(InputStream is) {
init();
if (is != null) {
if (!(is instanceof BufferedInputStream))
is = new BufferedInputStream(is);
in = (BufferedInputStream) is;
readHeader();
if (!err()) {
readContents();
if (frameCount < 0) {
status = STATUS_FORMAT_ERROR;
} else {
status = STATUS_OPEN_ERROR;
try {
is.close();
} catch (IOException e) {
return status;
* Reads GIF file from specified file/URL source (URL assumed if name contains
* ":/" or "file:")
* @param name
* String containing source
* @return read status code (0 = no errors)
public int read(String name) {
status = STATUS_OK;
try {
name = name.trim().toLowerCase();
if ((name.indexOf("file:") >= 0) || (name.indexOf(":/") > 0)) {
URL url = new URL(name);
in = new BufferedInputStream(url.openStream());
} else {
in = new BufferedInputStream(new FileInputStream(name));
status = read(in);
} catch (IOException e) {
status = STATUS_OPEN_ERROR;
return status;
* Decodes LZW image data into pixel array. Adapted from John Cristy's
* ImageMagick.
protected void decodeImageData() {
int NullCode = -1;
int npix = iw * ih;
int available, clear, code_mask, code_size, end_of_information, in_code, old_code, bits, code, count, i, datum, data_size, first, top, bi, pi;
if ((pixels == null) || (pixels.length < npix)) {
pixels = new byte[npix]; // allocate new pixel array
if (prefix == null)
prefix = new short[MaxStackSize];
if (suffix == null)
suffix = new byte[MaxStackSize];
if (pixelStack == null)
pixelStack = new byte[MaxStackSize + 1];
// Initialize GIF data stream decoder.
data_size = read();
clear = 1 << data_size;
end_of_information = clear + 1;
available = clear + 2;
old_code = NullCode;
code_size = data_size + 1;
code_mask = (1 << code_size) - 1;
for (code = 0; code < clear; code++) {
prefix[code] = 0;
suffix[code] = (byte) code;
// Decode GIF pixel stream.
datum = bits = count = first = top = pi = bi = 0;
for (i = 0; i < npix;) {
if (top == 0) {
if (bits < code_size) {
// Load bytes until there are enough bits for a code.
if (count == 0) {
// Read a new data block.
count = readBlock();
if (count <= 0)
break;
bi = 0;
datum += (((int) block[bi]) & 0xff) << bits;
bits += 8;
bi++;
count--;
continue;
// Get the next code.
code = datum & code_mask;
datum >>= code_size;
bits -= code_size;
// Interpret the code
if ((code > available) || (code == end_of_information))
break;
if (code == clear) {
// Reset decoder.
code_size = data_size + 1;
code_mask = (1 << code_size) - 1;
available = clear + 2;
old_code = NullCode;
continue;
if (old_code == NullCode) {
pixelStack[top++] = suffix[code];
old_code = code;
first = code;
continue;
in_code = code;
if (code == available) {
pixelStack[top++] = (byte) first;
code = old_code;
while (code > clear) {
pixelStack[top++] = suffix[code];
code = prefix[code];
first = ((int) suffix[code]) & 0xff;
// Add a new string to the string table,
if (available >= MaxStackSize)
break;
pixelStack[top++] = (byte) first;
prefix[available] = (short) old_code;
suffix[available] = (byte) first;
available++;
if (((available & code_mask) == 0) && (available < MaxStackSize)) {
code_size++;
code_mask += available;
old_code = in_code;
// Pop a pixel off the pixel stack.
top--;
pixels[pi++] = pixelStack[top];
i++;
for (i = pi; i < npix; i++) {
pixels[i] = 0; // clear missing pixels
* Returns true if an error was encountered during reading/decoding
protected boolean err() {
return status != STATUS_OK;
* Initializes or re-initializes reader
protected void init() {
status = STATUS_OK;
frameCount = 0;
frames = new ArrayList();
gct = null;
lct = null;
* Reads a single byte from the input stream.
protected int read() {
int curByte = 0;
try {
curByte = in.read();
} catch (IOException e) {
status = STATUS_FORMAT_ERROR;
return curByte;
* Reads next variable length block from input.
* @return number of bytes stored in "buffer"
protected int readBlock() {
blockSize = read();
int n = 0;
if (blockSize > 0) {
try {
int count = 0;
while (n < blockSize) {
count = in.read(block, n, blockSize - n);
if (count == -1)
break;
n += count;
} catch (IOException e) {
if (n < blockSize) {
status = STATUS_FORMAT_ERROR;
return n;
* Reads color table as 256 RGB integer values
* @param ncolors
* int number of colors to read
* @return int array containing 256 colors (packed ARGB with full alpha)
protected int[] readColorTable(int ncolors) {
int nbytes = 3 * ncolors;
int[] tab = null;
byte[] c = new byte[nbytes];
int n = 0;
try {
n = in.read(c);
} catch (IOException e) {
if (n < nbytes) {
status = STATUS_FORMAT_ERROR;
} else {
tab = new int[256]; // max size to avoid bounds checks
int i = 0;
int j = 0;
while (i < ncolors) {
int r = ((int) c[j++]) & 0xff;
int g = ((int) c[j++]) & 0xff;
int b = ((int) c[j++]) & 0xff;
tab[i++] = 0xff000000 | (r << 16) | (g << 8) | b;
return tab;
* Main file parser. Reads GIF content blocks.
protected void readContents() {
// read GIF file content blocks
boolean done = false;
while (!(done || err())) {
int code = read();
switch (code) {
case 0x2C: // image separator
readImage();
break;
case 0x21: // extension
code = read();
switch (code) {
case 0xf9: // graphics control extension
readGraphicControlExt();
break;
case 0xff: // application extension
readBlock();
String app = "";
for (int i = 0; i < 11; i++) {
app += (char) block;
if (app.equals("NETSCAPE2.0")) {
readNetscapeExt();
} else
skip(); // don't care
break;
default: // uninteresting extension
skip();
break;
case 0x3b: // terminator
done = true;
break;
case 0x00: // bad byte, but keep going and see what happens
break;
default:
status = STATUS_FORMAT_ERROR;
* Reads Graphics Control Extension values
protected void readGraphicControlExt() {
read(); // block size
int packed = read(); // packed fields
dispose = (packed & 0x1c) >> 2; // disposal method
if (dispose == 0) {
dispose = 1; // elect to keep old image if discretionary
transparency = (packed & 1) != 0;
delay = readShort() * 10; // delay in milliseconds
transIndex = read(); // transparent color index
read(); // block terminator
* Reads GIF file header information.
protected void readHeader() {
String id = "";
for (int i = 0; i < 6; i++) {
id += (char) read();
if (!id.startsWith("GIF")) {
status = STATUS_FORMAT_ERROR;
return;
readLSD();
if (gctFlag && !err()) {
gct = readColorTable(gctSize);
bgColor = gct[bgIndex];
* Reads next frame image
protected void readImage() {
ix = readShort(); // (sub)image position & size
iy = readShort();
iw = readShort();
ih = readShort();
int packed = read();
lctFlag = (packed & 0x80) != 0; // 1 - local color table flag
interlace = (packed & 0x40) != 0; // 2 - interlace flag
// 3 - sort flag
// 4-5 - reserved
lctSize = 2 << (packed & 7); // 6-8 - local color table size
if (lctFlag) {
lct = readColorTable(lctSize); // read table
act = lct; // make local table active
} else {
act = gct; // make global table active
if (bgIndex == transIndex)
bgColor = 0;
int save = 0;
if (transparency) {
save = act[transIndex];
act[transIndex] = 0; // set transparent color if specified
if (act == null) {
status = STATUS_FORMAT_ERROR; // no color table defined
if (err())
return;
decodeImageData(); // decode pixel data
skip();
if (err())
return;
frameCount++;
// create new image to receive frame data
image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB_PRE);
setPixels(); // transfer pixel data to image
frames.add(new GifFrame(image, delay)); // add image to frame list
if (transparency) {
act[transIndex] = save;
resetFrame();
* Reads Logical Screen Descriptor
protected void readLSD() {
// logical screen size
width = readShort();
height = readShort();
// packed fields
int packed = read();
gctFlag = (packed & 0x80) != 0; // 1 : global color table flag
// 2-4 : color resolution
// 5 : gct sort flag
gctSize = 2 << (packed & 7); // 6-8 : gct size
bgIndex = read(); // background color index
pixelAspect = read(); // pixel aspect ratio
* Reads Netscape extenstion to obtain iteration count
protected void readNetscapeExt() {
do {
readBlock();
if (block[0] == 1) {
// loop count sub-block
int b1 = ((int) block[1]) & 0xff;
int b2 = ((int) block[2]) & 0xff;
loopCount = (b2 << 8) | b1;
} while ((blockSize > 0) && !err());
* Reads next 16-bit value, LSB first
protected int readShort() {
// read 16-bit value, LSB first
return read() | (read() << 8);
* Resets frame state for reading next image.
protected void resetFrame() {
lastDispose = dispose;
lastRect = new Rectangle(ix, iy, iw, ih);
lastImage = image;
lastBgColor = bgColor;
int dispose = 0;
boolean transparency = false;
int delay = 0;
lct = null;
* Skips variable length blocks up to and including next zero length block.
protected void skip() {
do {
readBlock();
} while ((blockSize > 0) && !err());
Niklas wrote:
This works on WinXP but not Linux. Why? Please don't just post reams of code without providing more context and information.
How is it failing on Linux? Wrong results? What are they? Error messages? What do they say? You need to give us some place to start looking. -
"Payables Open Interface Purge" Program
Hi Guys,
In our production system, it takes 3 minutes to open "Open Interface Invoices" form (AP Manager>Invoices>Entry>Open Interface Invoices). So what should we do so as to avoid this.
I was thinking to delete data from two tables (AP_INVOICES_INTERFACE & AP_INVOICE_LINES_INTERFACE) based on certain crieterions. Like all the records which have been successfully imported i.e. with status='PROCESSED' can be deleted. So, I can achieve this using two methods:
1. Manually using SQL Delete statement. i.e.
DELETE FROM AP_INVOICES_INTERFACE WHERE status='PROCESSED';
DELETE FROM AP_INVOICE_LINES_INTERFACE
WHERE invoice_id IN (SELECT invoice_id FROM AP_INVOICES_INTERFACE WHERE status='PROCESSED');
2. Or I can use "Payables Open Interface Purge" Program.
I ran this program for my specific source, and checked the count from tables but the result is the same. This means this program has not deleted any of the processed records from these two tables for the particular source.
What can be the reason for this? Please suggest me on this.
Thanks a lot!
Regards,
Sumir ChawlaHi,
Thanks for your reply friends!
I ran the program for some source. It completed successfully, log shown below:
MSG-00001: (Import_purge 1) Check control table for the purge process
MSG-00001: (Check_control_table 1) Lock the control table
MSG-00003: (Check_control_table 2) Fetch import_requests
MSG-00007: (Check_control_table 5) Insert record into control table
MSG-00008: (Check_control_table 6) Commit
MSG-00002: (Import_purge ) Deleting records in interface tables...
MSG-00008: (Import_purge 5) Commit to the database
MSG-00010: (Import_purge 7) Delete the previous record in ap_interface_controls
But when I checked both the tables ap_invoices_interface and ap_invoice_lines_interface from backend, the records which should not exist for that particular source and which imported successfully (as purge all is 'No') are still existing in the tables. If I am correct, after successfull run, records should not exist for the source which have status "processed". Please correct me if I am wrong. I think I should log SR.
Thanks & Regards,
Sumir Chawla -
Site web analytics report shows no data
Hi All,
A user reported that they could not view the site web analytics report
in the SharePoint 2013 production server. It was working fine a few couple of weeks back though.
I started the troubleshooting for this issue and came cross a few blogs that details the same issue.
There were my steps:
In Central Admin (CA) >> Service Applications >> Usage and Health data collection was
started.
CA >>
Monitoring >> Reporting >> "Enable usage and health data collection"
was checked.
CA >> Monitoring >> Timer Jobs > Review job definitions
>> Microsoft SharePoint Foundation Usage Data Import
(5 minutes) and Microsoft SharePoint Foundation Usage Data Processing
was enabled. I clicked on "Run Now" on these job schedules.
CA >> Search Service Application >>
Under Mange Content Sources page
the status was Idle.
We have performed the full crawl a few days back.
PowerShell: Read the Brian
T. Jackett's blog. Basically, he uses PowerShell to trigger the Receivers
for the AnalyticsUsage and PageRequest
and enable these Receivers for Analytics and Page Requests. In the
production environment these receivers were already defined and I just executed them again. Ran the
OWSTimer service for all SharePoint servers. However, after 2 days no data was shown.
The only thing we have not checked is WSS_Logging database.
We are stuck in this issue and its OOTB feature.
Any pointers for this issue will be highly appreciated.
Thanks in advance.
Regards,
Aroh
Aroh ShuklaHi Aroh,
Please refer to the article:
http://blog.fpweb.net/troubleshooting-sharepoint-2013-web-analytics/#.VNcSsf4fqM8
There are still some place you could check for general troubleshooting steps, such as:
1.Did you configure AAM recently that might affect this?
2.Does related timer jobs run successfully?
Regards,
Rebecca Tu
TechNet Community Support
Maybe you are looking for
-
I've run into a few problems with my N80 and it's RAM (execution / program RAM, not storage RAM). The main problem is that it isn't freeing RAM properly, I don't know if this is an N80 issue or just an issue with my phone. If I restart the phone it s
-
Upgradation from 4.6c to 5
Hi, We are into Upgradation Project from SAP 4.6c to SAP 5. 1.The steps involved in Upgradation from 4.6c to 5. 2. The time frame for each steps. 3. Steps how to upload data from 4.6c to 5. pls, provide with document.its very urgent. Regrards, Manoj
-
How array.lengh is implemented in java
Hi , can anyone help how array.lenght is implemeted in java, i know that lenght is field in java , i want to know where this lengh is assigned with correct array size, i didn't see any lenght fileld in object class. can ayone help me on this. with re
-
Dear All I need to develop a query in which the user sees EFT details based on Policy Number. The Policy Numbers are stored in BSIS and EFT details ( like amount ,method of payment...) are stored in Table REGUH. However When I try to join the tables,
-
About dbms_xmlschema.delete_cascade_force
with oracle 10g. 1. exec dbms_xmlschema.registerschema('http://someurl', bfilename('SOMEFOLDER','some.xsd')); 2. create table TTT (key_col varchar2(10) primary key, xml_col xmltype) xmltype column xml_col xmlschema "http://someurl" element "Fields" 3