Error ID: 0x810060  EDI-Syntax

Okay so I am receiving this error over and over due to an invalid EDI syntax; the value is "å" seems to be causing it. How can I fix this error message from appearing when analyzed using my guideline?
Here is a picture of the error.
http://img826.imageshack.us/img826/6998/piczw.png

value is "å" seems to be causing itCharacter å is not allowed as per X12 char set so if you can remove it then it would be better. But in case you need it then you have to create your own character set (user.cs) which includes this character.
Regards,
Anuj

Similar Messages

  • Getting Error 26 in ALE IDOC scenario .- EDI Syntax Check Error...

    Hi..
    i am working in ALE Idoc scenario...I am getting Status 3 as well as status 26 in we02 transaction in my custom IDOC scenario for outbound process..
    The error is 'EDI- SYntax Check'..
    How to remove this error..
    Pls help.

    ya, there is only one segment available in IDOC..named i.e zseg_a .
    So , error in postion is avoided..
    How to find syntax error then?

  • Idoc Error - EDI: Syntax error in IDoc (segment cannot be identified)

    Hi All,
    have created a new reduced message type for our new vendor A/C group through BD53. Also done reqd config for sending the vendor master through this message type. .
    I have created couple of vendors for testing with X01 with withholding tax functionality and when try to send these vendors , Idocs are getting failed .
    When I create vendor without withholding tax functionality , idoc is getting posted succesfully . If create vendor with entries in the feild whih are related to withholding tax  . Idocs are getting failed .
    If I see the status in WE05 ,Idocs which are posted succefully are showing the basic type as CREMAS03 . For idocs which are getting failed have the basic type as CREMAS04 and also the extension  as Z1CREMAS . I don`t understand why the system is defaulting CREMA04 & Z1CREMAS when I send the vendor master with withholding tax feild entries.
    I am not much familiar with ALE /Idoc set up. Please can any body help me to resolve the issue.
    The error message in we05 as below
    EDI: Syntax error in IDoc (segment cannot be identified)
    Message no. E0078
    Diagnosis
    The segment Z1LFA1M does not occur at the current level of the basic type CREMAS04 (extension Z1CREMAS).
    This error can have several reasons:
    The segment Z1LFA1M is assigned to a group whose header segment does not occur.
    The segment Z1LFA1M does not exist in the syntax description of the basic type CREMAS04 (extension Z1CREMAS).
    The sequence of segments in the group in which the segment appears is incorrect.
    Previous errors ('mandatory' segment or group missing) may be due to this error.
    Procedure
    Please check the IDoc or the syntax description of the basic type CREMAS04 (extension Z1CREMAS).
    Thanks

    Hi,
    I don`t understand what do you mean release after adding segment.
    Message type works i.e. Idoc get posted if I send with the  vendor w/o withholding tax field entries. Idoc fails when send vendor with withholding tax field entry.
    Regards

  • IDOC Status 26: EDI: Syntax error in IDoc (segment cannot be identified).

    Hi All,
    I have created IDOC extension for IDOC Basic type "PROACT01" and have followed all required necessary steps but getting IDOC
    Status 26. EDI: Syntax error in IDoc (segment cannot be identified). The exact error is:
    Please check Error Details and the details of the steps I followed for Setting up IDOC Extension:
    Error Detail :
    EDI: Syntax error in IDoc (segment cannot be identified)
    Message no. E0078
    Diagnosis
    The segment ZPROSEG does not occur at the current level of the basic type PROACT01 (extension PROACTEX).
    This error can have several reasons:
    The segment ZPROSEG is assigned to a group whose header segment does not occur.
    The segment ZPROSEG does not exist in the syntax description of the basic type PROACT01 (extension PROACTEX).
    The sequence of segments in the group in which the segment appears is incorrect.
    Previous errors ('mandatory' segment or group missing) may be due to this error.
    Procedure
    Please check the IDoc or the syntax description of the basic type PROACT01 (extension PROACTEX).
    Can you please look at this problem and suggest what is wrong with IDOC Extension/Custome Segment?
    Below is the Details of the Steps which I have followed:
    1. Tcode WE31 - Created new custom Segment ZPROSEG with 4 fields. Released segment.
    2. TCode WE30 - Created IDOC Extension PROACTEX for Basic Type PROACT01. Released IDOC extension.
         Here when I run syntax check warning appears "No predecessors exist".  I am not sure if its okay!!
    3. TCode WE82 - Added Extension PROACTEX in the Message Type PROACT with BASIC Type PROACT01.
    4. TCode WE20 - Added IDOC Extension PROACTEX in the predefined partner profile in WE20 transaction.
    5. Added the following code in the Customer Exit EXIT_SAPLWVMI_001 include ZXWVMIU01 .
    DATA segnam(27).
    READ TABLE dedidd WITH KEY segnam = 'ZPROSEG'.
    IF sy-subrc NE 0.
    LOOP AT dedidd WHERE segnam = 'E1EDP31'.
    CLEAR dedidd.
    dedidd-segnam = 'ZPROSEG'.
    zproseg-matnr = 'Mat1'.
    zproseg-lgort = '001'.
    zproseg-gernr = 'SNo1'.
    zproseg-labst = 2.
    dedidd-sdata = zproseg.
    APPEND dedidd.
    ENDLOOP.
    ENDIF.
    Finally ran  transaction WVM2 (Transfer of Stock & Sales Data) to generate IDOC, its creating IDOC but when checked IDOC in WE05 its getting Status Error "26".
    Looking forward for your reply.
    Many thanks in advance.

    Hello,
    Actually you are appending the Z segment instead of inserting into the correct position. So the segment is added at the last, so hierarchy of segments is collapsed.
    So get the index of the previous segment E1EDP31 and increase the index by 1 and INSERT the Z segment with that new index as below.
    LOOP AT dedidd WHERE segnam = 'E1EDP31'.
    lv_index = sy-tabix. " <<--
    ADD 1 TO lv_index. " <<--
    CLEAR dedidd.
    dedidd-segnam = 'ZPROSEG'.
    zproseg-matnr = 'Mat1'.
    zproseg-lgort = '001'.
    zproseg-gernr = 'SNo1'.
    zproseg-labst = 2.
    dedidd-sdata = zproseg.
    *APPEND dedidd.
    INSERT dedidd INDEX lv_index. " <<---
    ENDLOOP.
    Here actually we are insering the record inside the LOOP and it regenerates the index again. It is not actually a good practice.
    So the best practice is get the index and generate the segment inside the loop, store them into another internal table, come out the loop and insert the Z segments into DEDIDD by looping the new internal table.

  • Issue:EDI: Syntax error in IDoc (mandatory segment missing):Idoc extention

    Hi all,
    I have extended the the standard IDOC MATMAS05  classification view with structure as below-
    E1MARAM                        Master material general data (MARA)--->Mandatory segment
         Z1KLART                        KLART --->Extended chaild to E1MARAM
             Z1CLASS                        segment for class --->Extended chaild to Z1KLART
             Z1CHARACTERISTIC               CHARACTERISTIC --->Extended chaild to Z1KLART
         E1MARA1                        Additional Fields for E1MARAM
         E1MAKTM                        Master material short texts (MAKT) --->Mandatory segment(Child   to                                                                               
    E1MARAM )
    I am getting an error in IDOC fro material master as:EDI: Syntax error in IDoc (mandatory segment missing ).
    Diagnosys By system is :*The segment E1MAKTM has the attribute 'Mandatory' in the syntax description of the basic type MATMAS05 (customer enhancement ZMATMAS05). However, the segment is missing in the IDoc. The segment number logged in the status record identifies the item before which the segment is missing.
    This error may have been triggered by an unidentifiable segment before the expected mandatory segment.*
    Please help to resolve the issue.
    Thank you.
    Edited by: sanu debu on Apr 30, 2009 11:25 AM
    Edited by: sanu debu on Apr 30, 2009 11:31 AM

    Hi,
       You cannot add an segment in the middle of other segments.
    YOu have to add any segment at the last.
    If you want to add a segment as the child of another segment, it should be added after the last child of the parent segment.
    In you case, you have to add your segment after the E1CUCFG segment.(NOt under that segement)
    Regards,
    Ravi Kanth Talagana

  • EDI: Syntax error in IDoc (segment cannot be identified)

    Hi All,
    Im facing the below error EDI: Syntax error in IDoc (segment cannot be identified).
    And this error is coming only for few idocs rest are getting processed successfully.
    Message no. E0078
    Diagnosis
    The segment E1EDP03 does not occur at the current level of the basic type ORDERS05 (extension ).
    This error can have several reasons:
    The segment E1EDP03 is assigned to a group whose header segment does not occur.
    The segment E1EDP03 does not exist in the syntax description of the basic type ORDERS05 (extension ).
    The sequence of segments in the group in which the segment appears is incorrect.
    Previous errors ('mandatory' segment or group missing) may be due to this error.
    Procedure
    Please check the IDoc or the syntax description of the basic type ORDERS05 (extension ).
    Please suugest.
    Thanks,
    Spandana

    Hi,
    Is this standard program or custom program?
    you might be appending the Z segment instead of inserting it. Always best practice is get the index of the segment and instert it.
    If all the data is not populated then segment position will change incase of appending. Please check your code and revert back.
    Refer the below link for detailed information.
    IDOC Status 26: EDI: Syntax error in IDoc (segment cannot be identified).
    Thank you

  • EDI: Syntax error in IDoc (mandatory group/segment missing)

    hi EDI/IDoc experts,
    Need you help urgently. According to the requirement, i need populate a segement  E1IDT01 of basic type PEXR2002 . I added the code , then run and generate an idoc , the new segment
    E1IDT01  was populated,  but Syntax error 26 happend. Error message as below.   It also strange that i can see E1IDKU5 populate out as usual, but some others segment disappeared , i am sure that in my code ,i didn't changed any variable related to other segement . how can i fix this problem?
    EDI: Syntax error in IDoc (mandatory group missing)
    Message no. E0079
    Diagnosis
    The segment group E1IDKU5 has the attribute 'Mandatory' in the syntax description of the basic type PEXR2002 (customer enhancement ). However, the segment group is missing in the IDoc. The segment number logged in the status record identifies the item before which the segment group is missing.
    Procedure
    Please check the IDoc or the syntax description of the basic type PEXR2002 (customer enhancement ).

    Hi all,
    Thanks so much for your concern!
    Finally ,this problem has been figured out  .
    Requirement is user want to use segment E1IDT01 in idoc to populate the long text they maintained in accounting document vendor item line (use FB01 to create accounting doc).
    Why I made out " EDI: Syntax error in IDoc (mandatory group/segment missing)" this message out ,because  I didn't fill data correctly. I missed to keep SY-TABIX in momory .
    when we use Function module ,or do..enddo...or read table it_table. we should be careful that SY-TABIX  is changed .So we can't just use MODIFY EDIDD_TABLE INDEX  SY-TABIX  in the last . we should define a local variable to keep  SY-TABIX  in memory and then use it to modify EDIDD_TABLE. 
    Follow is the final code.
    IF SEGMENT_NAME = 'E1IDT01'.
    TABLES :STXL.
    * Define for long text getting
      DATA: LIT_TLINE  LIKE TLINE   OCCURS 0 WITH HEADER LINE.
      DATA: LV_STRING(2000)  TYPE C.                          
      DATA: LV_TDNAME TYPE THEAD-TDNAME,
            LV_ID     TYPE THEAD-TDID     VALUE '0001',
            LV_LANG   TYPE THEAD-TDSPRAS  VALUE 'E' ,
            LV_OBJ    TYPE THEAD-TDOBJECT VALUE 'DOC_ITEM'.
    data:   LV_LINE   TYPE I,                " long Text lines
            LV_LEN    TYPE I,                " long Text length   
            LV_TABIX  LIKE SY-TABIX.                              
    * Clear memory
      CLEAR:LV_TDNAME,
            LV_STRING,                                        
            LV_LINE,                                           
            LIT_TLINE, LIT_TLINE[],                          
            LV_LEN,                                            
            LV_TABIX.                                        
    * Keep sy-tabix memory using a variable--This is the key point
      LV_TABIX = SY-TABIX.
    * Combine TDNAME with company code + accounting doc + fiscal year + item number.
        CONCATENATE  REGUP_DATA-BUKRS REGUP_DATA-BELNR
                     REGUP_DATA-GJAHR REGUP_DATA-BUZEI INTO  LV_TDNAME.
    * When vendor item has long text , read long text into lv_string
        SELECT SINGLE *
          FROM STXL
          WHERE TDOBJECT = LV_OBJ
            AND TDNAME   = LV_TDNAME
            AND TDID     = LV_ID
            AND TDSPRAS  = 'E'.
        IF SY-SUBRC = 0.
          CALL FUNCTION 'READ_TEXT'
            EXPORTING
              CLIENT   = SY-MANDT
              ID       = LV_ID
              LANGUAGE = LV_LANG
              NAME     = LV_TDNAME
              OBJECT   = LV_OBJ
            TABLES
              LINES    = LIT_TLINE.
          IF NOT LIT_TLINE[] IS INITIAL.
            DESCRIBE  TABLE LIT_TLINE LINES LV_LINE.
            DO LV_LINE TIMES.
              READ TABLE LIT_TLINE INDEX SY-INDEX.
              CONCATENATE LV_STRING LIT_TLINE-TDLINE INTO LV_STRING.
            ENDDO.
            LV_LEN = STRLEN( LV_STRING ).
    * Make sure we only need  less than 840 charicters
            IF LV_LEN > 840.
              LV_STRING = LV_STRING+0(840).
              LV_LEN    = 840.
            ENDIF.
    * Populate Vendor item long text with segment E1IDT01 start from
    * Fields TXT03 to TXT14.
             EDIDD_TABLE-SDATA+147(LV_LEN) = LV_STRING.
            MODIFY EDIDD_TABLE INDEX LV_TABIX.
          ENDIF.
        ENDIF.
      ENDIF.

  • EDI: Syntax error in IDoc (mandatory segment missing)

    HI all,
    Error Message - EDI: Syntax error in IDoc (mandatory segment missing)
    Status ID - E0
    Message No - 072
    Status of the IDoc - 26
    Please help me how to solve this issue?
    Thanks,
    Srini

    Hi,
    This error normally comes up when the sequence of segments has been disturbed.
    For successfully posting an IDOC you need to maintain the sequence of the segments as in WE30.
    You can also check which segments are mandatory in WE30 by clicking on the segment name and the pop up that comes.
    Thanks,
    Manish

  • Regarding EDI: Syntax error in IDoc (segment cannot be identified)

    Hi,
    My requirement is that I was adding two diffrent field values under two diffrent segments as "E1EDKA1" and "E1EDK02" in outbound invoice IDOCS, INVOIC02 (process code: SD09 - IDOC_OUTPUT_INVOIC).
    I am getting the IDOC number through Tcode "VF02". Can any body give me idea how to check that syntax error in debug mode.
    Please find the following error details using TCODE "WE02".
    *EDI: Syntax error in IDoc (segment cannot be identified)*
    *Message no. E0 078*
    *Diagnosis*
    *The segment E1EDKA1 does not occur at the current level of the basic type INVOIC02 (extension ).*
    *This error can have several reasons:*
    *The segment E1EDKA1 is assigned to a group whose header segment does not occur.*
    *The segment E1EDKA1 does not exist in the syntax description of the basic type INVOIC02 (extension ).*
    *The sequence of segments in the group in which the segment appears is incorrect.*
    *Previous errors ('mandatory' segment or group missing) may be due to this error.*
    Please help me to resolve this problem. <REMOVED BY MODERATOR>
    Regards,
    Skumar.
    Edited by: Alvaro Tejada Galindo on Apr 28, 2008 1:09 PM

    It seems that you added segment E1EDKA1 at a place where it is not supposed to be. That's where this error is coming from. The structure of every IDOC is definded by SAP standard and you cannot change the sequence or the level of standard segments. If you require a certain field at a certain level you have to add that field to a Z-segment and then add that Z-segment where appropriate in your extension.
    Hope that helps,
    Michael

  • EDI: Syntax error in IDoc (too many repetitions of a segment)

    Hi All -
       We are getting an "EDI: Syntax error in IDoc (too many repetitions of a segment)" error message while processing the REMADV message in the payment run program.
    Basic Type : PEXR2002
    Message Type : REMADV
    Segment Name : E1EDP02
    This issue is due to BELNR length in above segment, since payment run program assigning the 45 chars but BELNR length is 35 char, is there any way or OSS notes we can implement to rectify the same.
    Thanks in Advance.
    Rds,
    K

    Hi,
    This error is the segment definition violation. Open your BASIC IDOC type in WE30, double click on the segment TESTIDOC.
    In the popup you can see properties like mandatory segment, Minimum number and Max number. Your IDOC is crossing the max number of repetitions it can have. If any of the segment definition perperties like this one, or improper position of the segment etc occurs IDOC is generated with syntax error.
    Thanks,
    Vinod.

  • PO Change O/P error- Maintain outgoing EDI-connection data for partner for

    Hi Experts ,
    We are connecting our SAP ECC 6 ( Ehp 4) sytem to 3rd party system via SAP PI.  We already done all the settings..line Output detemination procedure, Partner Profile ( WE20) , Port creation , Condition Records..etc.
    We have PO Creation ( ZCRE)  and PO Change ( ZPOC) Outbound messages to go from our system. Both have sepate message Types, since PO Creation IDOc should go immidiatly ( Dispatch time 4-Send immediately (when saving the application)
    and PO Change IDoC should send as per wish manully in ME9F ( Dispatch time -3 Send with application own transaction).
    Once PO Created , Output Message successfully triggering and  IDoC is creating ( Green Color) ..so it is working fine .
    Fo PO Change Message we had selcted Program -FM06AEND & FORM routine -CHANGE_FLAG.
    We also set "Multiple issuing " checkbox in the Output Type and no requierment is assigned.
    In WE 20, for Logical system ( LS) Partner XYZ,  we set Process code ME11 and checked "Change Message"
    1. But when I change PO Qty , output is not automaticaly triggering .After changing PO, if we see determination Analysis, in Procedure RMBEF1, this output ZPOC shows 2 times. First, it shows green color,...Output Found , and second times, it displays, "partner XYZ is not an EDI partner"
    2. If we try to manually enter the Output ZPOC in PO Header, then system gives the Error - Maintain outgoing EDI-connection data for partner XYZ.
    Can anyone pls suggest what should be the reason for above?
    Thanks
    NAP

    Issue Resolved .
    The reason for this system behaviour is in fine-tuned control: We was
    using ZMIN only for new message output and ZCHG only for change messagesNevertheless, you can maintain two entries in WE20 for ORDCHG:
    EF ZCHG ME11 w/o Change message flag
    EF ZCHG ME11 with Change message flag
    Thanks

  • You have an error in your SQL syntax;

    i have a checkout page that i am trying to send to a payment centre but and getting the following error
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '16)' at line 1
    can someone help and tell me what this means does it mean "conflict with columns definitions"
    if so what can i do to solve the issue? do you need to see the page code?
    thanks

    <?php require_once('Connections/wibbles.php'); ?>
    <?php
    // do not cache
    header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");                      // Date in the past
    header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
    header ("Cache-Control: no-cache, must-revalidate");                    // /1.1
    header ("Pragma: no-cache");                                            // /1.0
    // *** Restrict Access To Page: Grant or deny access to this page
    $FX_authorizedUsers=" ";
    $FX_authFailedURL="login.php";
    $FX_grantAccess=0;
    if (!session_id()) session_start();
    if (isset($_SESSION["MM_Username"])) {
      if (true || !(isset($_SESSION["MM_UserAuthorization"])) || $_SESSION["MM_UserAuthorization"]=="" || strpos($FX_authorizedUsers, $_SESSION["MM_UserAuthorization"])) {
        $FX_grantAccess = 1;
    if (!$FX_grantAccess) {
      $FX_qsChar = "?";
      if (strpos($FX_authFailedURL, "?")) $FX_qsChar = "&";
      $FX_referrer = "Restricted Area";
      $FX_authFailedURL = $FX_authFailedURL . $FX_qsChar . "accessdenied=" . urlencode($FX_referrer);
      header("Location: $FX_authFailedURL");
      exit;
    // *** Retrieve X ID ***
    if (!session_id()) session_start();
    $XC_OrderIdSessionVar = "OrderID";
    if (!isset($_SESSION[$XC_OrderIdSessionVar])) {
      // Get a unique OrderID number and save to session.
      $XC_tableName = "wibble_nextorder";
      $XC_fieldName = "NextOrderID";
      mysql_select_db($database_wibbles, $wibbles);
      $XC_IdSource = "select " . $XC_fieldName . " from " .  $XC_tableName;
      $XC_rsId = mysql_query($XC_IdSource, $wibbles) or die(mysql_error());
      $row_XC_rsId = mysql_fetch_assoc($XC_rsId);
      $_SESSION[$XC_OrderIdSessionVar] = $row_XC_rsId[$XC_fieldName];
      $$XC_OrderIdSessionVar = $_SESSION[$XC_OrderIdSessionVar];
      session_register($XC_OrderIdSessionVar);
      $XC_next = $_SESSION[$XC_OrderIdSessionVar] + 1;
      $XC_upd = "update " . $XC_tableName . " set " . $XC_fieldName . " = " . $XC_next;
      $XC_rsId = mysql_query($XC_upd, $wibbles) or die(mysql_error());
      $XC_rsId = null;
    // x limit validation
    if (isset($_POST["XC_Limit"]) && $_POST["XC_Limit"] != "") {
      $XC_limErr = stripslashes($_POST["XC_Limit"]);
      if (isset($_GET['XC_SaveCartToTable'])) unset($_GET['XC_SaveCartToTable']);
      unset($HTTP_POST_VARS);
      unset($_POST);
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    // x limit validation
    if (isset($_POST["XC_Limit"]) && $_POST["XC_Limit"] != "") {
      $XC_limErr = stripslashes($_POST["XC_Limit"]);
      if (isset($_GET['XC_SaveCartToTable'])) unset($_GET['XC_SaveCartToTable']);
      unset($_POST);
      unset($_POST);
    // Validate X amount
    if (isset($_POST["XC_Amount"]) && $_POST["XC_Amount"] < 10) {
        if (isset($_GET['XC_SaveCartToTable'])) unset($_GET['XC_SaveCartToTable']);
        unset($_POST);
        unset($_POST);
        $XC_amErr = "The amount doesn't reach the allowed minimum of &euro; 100.";
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
      $insertSQL = sprintf("INSERT INTO wibble_orders (OrderID, CustomerID, OrderDate, Shipping, Discount, Tax, Total) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['OrderID'], "int"),
                           GetSQLValueString($_POST['CustomerID'], "int"),
                           GetSQLValueString($_POST['OrderDate'], "date"),
                           GetSQLValueString($_POST['Shipping'], "double"),
                           GetSQLValueString($_POST['Discount'], "double"),
                           GetSQLValueString($_POST['Tax'], "double"),
                           GetSQLValueString($_POST['XC_Amount'], "double"));
      mysql_select_db($database_wibbles, $wibbles);
      $Result1 = mysql_query($insertSQL, $wibbles) or die(mysql_error());
    // *** X Shopping Cart ***
    $useSessions = true;
    $XCName = "wibbleJakeCart";
    $XCTimeout = 30;
    $XC_ColNames=array("ProductID","Quantity","Name","Color","Price","MinQty","Discount","Stoc k","Total");
    $XC_ComputedCols=array("","","","","","","","","Price");
    require_once('XCInc/XCart.inc');
    $colname_rsCustomer = "1";
    if (isset($_SESSION['MM_UserAuthorization'])) {
      $colname_rsCustomer = $_SESSION['MM_UserAuthorization'];
    mysql_select_db($database_wibbles, $wibbles);
    $query_rsCustomer = sprintf("SELECT * FROM wibble_customers WHERE CustomerID = %s", GetSQLValueString($colname_rsCustomer, "int"));
    $rsCustomer = mysql_query($query_rsCustomer, $wibbles) or die(mysql_error());
    $row_rsCustomer = mysql_fetch_assoc($rsCustomer);
    $totalRows_rsCustomer = mysql_num_rows($rsCustomer);
    // *** Redirect if XCart is Empty ***
    $XC_RedirectIfEmpty = "shopping-cart.php";
    if (isset($_SERVER["QUERY_STRING"])) {
      $XC_RedirectIfEmpty .= "?" . htmlentities($_SERVER["QUERY_STRING"]);
    if (isset(${$XCName}["contents"]) && (sizeof(${$XCName}["contents"][0]) == 0)) header("Location: " . $XC_RedirectIfEmpty);
    // *** Repeat XCart region *** (do not remove this label)
    // validate x limit
    $XC_invalidItems = "";
    $XC_lim = "";
    $iCol = array_search("Quantity",${$XCName}["ColNames"]);
    $iSrc = array_search("Stock",${$XCName}["ColNames"]);
    for ($iVal=0; $iVal<sizeof(${$XCName}["contents"][0]); $iVal++) {
      if (${$XCName}["contents"][$iCol][$iVal] > ${$XCName}["contents"][$iSrc][$iVal]) {
        if ($XC_invalidItems != "") $XC_invalidItems .= "-";
        $XC_invalidItems .= (string) ($iVal+1);
        if ($XC_lim != "") $XC_lim .= "-";
        $XC_lim .= (string) ${$XCName}["contents"][$iSrc][$iVal];
    if ($XC_invalidItems != "") {
      $XC_invalidItems = "(".$XC_invalidItems.")";
      $XC_lim = "(".$XC_lim.")";
      $x_limErr = "The item(s) $XC_invalidItems exceed the available stock of $XC_lim";
    // *** Add shipping based on Range
    mysql_select_db($database_wibbles, $wibbles);
    $XC_sourceVal = $XCart_sumTotal;
    $XC_ShipSource = "SELECT Shipping FROM wibble_shipbyprice WHERE MinPurchase < " . $XC_sourceVal . " AND MaxPurchase >= " . $XC_sourceVal;
    $XC_rsShip = mysql_query($XC_ShipSource, $wibbles) or die(mysql_error());
    $row_XC_rsShip = mysql_fetch_assoc($XC_rsShip);
    $XC_Shipping = $row_XC_rsShip['Shipping'];
    $XC_rsShip = null;
    // *** Add Referenced Sales Tax
    mysql_select_db($database_wibbles, $wibbles);
    $XC_taxSource = "SELECT Tax FROM wibble_tax WHERE Country = '" . $row_rsCustomer['Country'] . "'";
    $XC_rsTax = mysql_query($XC_taxSource, $wibbles) or die(mysql_error());
    $row_XC_rsTax = mysql_fetch_assoc($XC_rsTax);
    $XC_Tax = $row_XC_rsTax['Tax'];
    $XC_rsTax = null;
    $XC_SalesTax = $XC_Tax*($XCart_sumTotal+$XC_Shipping-$XC_Discount);
    // *** Compute Grand Total
    $XC_GranTotal = $XCart_sumTotal+$XC_SalesTax+$XC_Shipping-$XC_Discount;
    // *** Format table as Europe style
    if (!session_id()) session_start();
    // set header 
    $XC_header = "<style type=\"text/css\">\n<!--\n";
    $XC_header .= "table {font-family: Arial, Helvetica, sans-serif; font-size: 13px;}\n";
    $XC_header .= "-->\n</style>\n";
    $XC_header .= "<table width=\"520\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
    $XC_header .= "  <tr>\n    <td>\n";
    $XC_header .= "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n";
    $XC_header .= "  <tr>\n    <td> </td>\n    <td align=\"right\"> </td>\n  </tr>\n";
    $XC_header .= "  <tr>\n    <td>Order n. <b>" . $_SESSION["OrderID"] . "</b></td>\n    <td align=\"right\"> " . date("d/m/Y") . "</td>\n  </tr>\n";
    $XC_header .= "  <tr>\n    <td> </td>\n    <td> </td>\n  </tr>\n";
    $XC_header .= "  <tr>\n    <td colspan=\"2\" align=\"Left\">";
    $XC_header .= $row_rsCustomer["FirstName"] . " ";
    $XC_header .= $row_rsCustomer["LastName"] . " <br>";
    $XC_header .= $row_rsCustomer["Address"] . " <br>";
    $XC_header .= $row_rsCustomer["ZIP"] . " ";
    $XC_header .= $row_rsCustomer["City"] . " ";
    $XC_header .= $row_rsCustomer["State"] . " <br>";
    $XC_header .= $row_rsCustomer["Country"] . " <br>";
    $XC_header .= "</td>\n  </tr>\n</table>\n";
    $XC_header .= "<table border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n";
    $XC_header .= "  <tr>\n    <td colspan=\"5\"> </td>\n  </tr>\n";
    $XC_header .= "  <tr>\n    <td colspan=\"5\">Cart contents: </td>\n  </tr>\n";
    // set cart data 
    $XCartData = "  <tr>\n";
    $XCartData .= "    <th width=\"30\" bgcolor=\"#CC6600\"><font color=\"white\">Qty</font></th>\n";
    $XCartData .= "    <th width=\"310\" bgcolor=\"#CC6600\"><font color=\"white\">Description</font></th>\n";
    $XCartData .= "    <th width=\"60\" bgcolor=\"#CC6600\"><font color=\"white\">Price</font></th>\n";
    $XCartData .= "    <th width=\"40\" bgcolor=\"#CC6600\"><font color=\"white\">Disc</font></th>\n";
    $XCartData .= "    <th width=\"80\" bgcolor=\"#CC6600\"><font color=\"white\">Total</font></th>\n";
    $XCartData .= "  </tr>\n";
    for ($jRow=0; $jRow<sizeof(${$XCName}["contents"][0]); $jRow++) {
      require('XCInc/RepeatXMailRegion.inc');
      $XCartData .= "  <tr>\n";
      $XCartData .= "    <td align=\"Center\" bgcolor=\"#FFFF99\">" . ${$XCName}["contents"][1][$jRow] . "</td>\n";
      $XCartData .= "    <td align=\"Left\" bgcolor=\"#FFFF99\">" . ${$XCName}["contents"][2][$jRow] . "</td>\n";
      $XCartData .= "    <td align=\"Right\" bgcolor=\"#FFFF99\">&euro; " . number_format(${$XCName}["contents"][4][$jRow], 2, ',', '.') . "</td>\n";
      $XCartData .= "    <td align=\"Center\" bgcolor=\"#FFFF99\">" . ${$XCName}["contents"][6][$jRow] . "</td>\n";
      $XCartData .= "    <td align=\"Right\" bgcolor=\"#FFFF99\">&euro; " . number_format(${$XCName}["contents"][8][$jRow], 2, ',', '.') . "</td>\n";
      $XCartData .= "  </tr>\n";
    // set footer
    $XC_footer = "  <tr>\n    <td colspan=\"4\" align=\"right\"><b> SubTotal </b></td>\n    <td align=\"right\" bgcolor=\"#FFFF99\"><b> &euro; " . number_format($XCart_sumTotal, 2, ',', '.') . "</b></td>\n  </tr>\n";
    $XC_footer .= "  <tr>\n    <td colspan=\"4\" align=\"right\"> Shipping </td>\n    <td align=\"right\" bgcolor=\"#FFFF99\"> &euro; " . number_format($XC_Shipping, 2, ',', '.') . "</td>\n  </tr>\n";
    $XC_footer .= "  <tr>\n    <td colspan=\"4\" align=\"right\">  </td>\n    <td align=\"right\" bgcolor=\"#FFFF99\"> </td>\n  </tr>\n";
    $XC_footer .= "  <tr>\n    <td colspan=\"4\" align=\"right\"> Sales Tax </td>\n    <td align=\"right\" bgcolor=\"#FFFF99\"> &euro; " . number_format($XC_SalesTax, 2, ',', '.') . "</td>\n  </tr>\n";
    $XC_footer .= "  <tr>\n    <td colspan=\"4\" align=\"right\"><b> Grand Total </b></td>\n    <td align=\"right\" bgcolor=\"#FFFF99\"><b> &euro; " . number_format($XC_GranTotal, 2, ',', '.') . "</b></td>\n  </tr>\n";
    $XC_footer .= "  <tr>\n    <td colspan=\"5\"> </td>\n  </tr>\n";
    $XC_footer .= "</table>\n    </td>\n  </tr>\n</table>\n";
    // join all
    if (isset($_SESSION["XC_CartMail"])) session_unregister("XC_CartMail");
    $XC_CartMail = $XC_header . $XCartData . $XC_footer;
    $_SESSION["XC_CartMail"] = $XC_CartMail;
    session_register("XC_CartMail");
    // *** Save XCart contents to table ***
    require_once('XCInc/XCsaveAction.inc');
    if (isset($_GET['XC_SaveCartToTable']) && ($_GET['XC_SaveCartToTable'] == "1")) {
      $XC_destColName = array("ProductID","Quantity","","Color","UnitPrice","","Discount","","Total");
      $XC_destColType = array("str","num","str","str","num","num","num","num","num");
      $XC_orderId = $_SESSION['OrderID'];
      $XC_tableName = "wibble_orderdetails";
      $XC_OrderIDCol = "OrderID";
      $XC_OrderIDType = "num";
      $XC_AddToTableRedirect = "thanks.php";
      $XC_conName = "wibbles";
      require_once('XCInc/SaveXCartToTable.inc');
    // clone a session
    if (!session_id()) session_start();
    if (isset($_SESSION["OrderNum"])) session_unregister("OrderNum");
    if (isset($_SESSION["OrderID"])) {
      $OrderNum = $_SESSION["OrderID"];
      $_SESSION["OrderNum"] = $OrderNum;
      session_register("OrderNum");
    function DoFormatCurrency($theObject,$NumDigitsAfterDecimal,$DecimalSeparator,$GroupDigits,$Curren cySymbol) {
              $currencyFormat=$CurrencySymbol.number_format($theObject,$NumDigitsAfterDecimal,$Dec imalSeparator,$GroupDigits);
              return ($currencyFormat);
    function DoFormatPercent($theObject,$NumDigitsAfterDecimal,$DecimalSeparator,$GroupDigits) {
              $currencyFormat=number_format($theObject*100,$NumDigitsAfterDecimal,$DecimalSeparato r,$GroupDigits).'%';
              return ($currencyFormat);
    ?>

  • Error when making connection:  You have an error in your SQL syntax;

    I'm getting this error when trying to make a simple Database Connection:
    SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????????????????????' at line 1
    SQLState: 42000
    VendorError: 1064
    I tried a different driver and got the same error with more "?"s in the "use near....." part.
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class DBTest{         public static void main(String[] args){                 try{                         Class.forName("com.mysql.jdbc.Driver").newInstance();                 } catch(Exception e){                         System.out.println(e);                         System.exit(0);                 }                 Connection conn = null;                 try {                         conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testDB?" + "user=root&password=password");                         conn.close();                 } catch (SQLException ex) {                         // handle any errors                         System.out.println("SQLException: " + ex.getMessage());                         System.out.println("SQLState: " + ex.getSQLState());                         System.out.println("VendorError: " + ex.getErrorCode());                 }         } }
    MySQL Server Version:
    Server version: 5.0.67-0ubuntu6 (Ubuntu)

    cotton.m wrote:
    c0c0 wrote:
    I've tried Drivers 5.1 , 5.0 and 3.1 now and I get the same problem every time. I've tried switching databases, users, etc but always get this same error:
    java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????' at line 1
    I have the latest version of mysql from the Ubuntu repositories. Do I have to configure that a certain way? It isn't the URL which I supply that it does not like because I've tried multiple URLs and they all give me the same error when I supply the correct information.
    Any help is greatly appreciated.This is.. very odd.
    I have to ask are you really, really sure that your code is just as you posted? Are you sure you aren't running a query of some sort? My guess at this point would be some sort of rather bizarre encoding issue. I'm sorry but I can't reproduce your behaviour, I am connecting to different MySQL instances with no problem from Ubuntu..
    Yes the code is exactly the same as what I posted (except hiding actual usernames and passwords)
    I've even tried to connect to a remote mysql server and get the same behavior (If I type in the wrong database it alerts me there is no db of that name, if I lg in with the wrong password it alerts me cant login ____ @ ______, when I have all the correct information I get that same old error) , I'm somewhat convinced it's my driver now. I thought at first it was the way I had mysql configured but now I think it's my driver or the way I have everything installed. I simply put the driver location in the classpath and do the command:
    export set CLASSPATH=/usr/share/tomcat5.5-webapps/ROOT/lib/mysql-connector-java-5.1.7-bin.jar
    Was this the wrong way to go about doing it? I'm not currently running tomcat I simply put it there because a book said that's where it should go for tomcat, but I wanted to first try this not running tomcat with just a simple normal Java example.

  • Error in your SQL syntax........near '' at line 1

    i have a payment success page that should update the database when a payment is correct but am getting the error
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    on the success.php page, i have looked at the code but cant seem to see the error, i have changed the ' ' to "" on line one but that didn't do it so was hoping someone could look and see the incorrect syntax
    <?php require_once('Connections/chic.php'); ?>
    <?php
    // *** Update the stock ***
    $details_table = "chicJewls_orderdetails";
    $ID_column = "UniqueID";
    $details_prodID = "ProductID";
    $details_qty = "Quantity";
    $XStock_TableName = "chicJewls_products";
    $XStock_FieldName = "Stock";
    $XStock_unID = "ProductID";
    if (!session_id()) session_start();
    if (isset($_SESSION["orderID"])) {
      mysql_select_db($database_chic, $chic);
      $details_Source = "select * from " .  $details_table . " where " . $ID_column . " = " . $_SESSION["orderID"];
      $detailsRS = mysql_query($details_Source, $chic) or die(mysql_error());
      $row_detailsRS = mysql_fetch_assoc($detailsRS);
      do {
        $XStock_qtySource = "select " . $XStock_FieldName . " from " .  $XStock_TableName . " where " . $XStock_unID . " = " .$row_detailsRS[$details_prodID] . "";
        $XStock_rsUpd = mysql_query($XStock_qtySource, $chic) or die(mysql_error());
        $row_XStock_rsUpd = mysql_fetch_assoc($XStock_rsUpd);
        if ($row_XStock_rsUpd[$XStock_FieldName] > 0) {
          $XStock_new = $row_XStock_rsUpd[$XStock_FieldName] - $row_detailsRS[$details_qty];
          if ($XStock_new < 0) $XStock_new = 0;
          $XStock_UpdSource = "update " . $XStock_TableName . " set " . $XStock_FieldName . " = " . $XStock_new . " where " . $XStock_unID . " = " .$row_detailsRS[$details_prodID] . "";
          $XStock_rsUpd = mysql_query($XStock_UpdSource, $chic) or die(mysql_error());
      } while ($row_detailsRS = mysql_fetch_assoc($detailsRS));
      $XStock_rsUpd = null;
      $detailsRS = null;
      session_unregister("orderID");
    ?>
    thanks in advance

    No, I'm talking about the dot before.
    Change this
    .$row_detailsRS[$details_prodID] . "";
    to this
    . $row_detailsRS[$details_prodID] . "";
    in both places.

  • Error in your SQL syntax

    Getting this error when using DW CS3 Insert Record Wizard
    with CF8 and MySql 5
    quote:
    Error Executing Database Query.
    You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to
    use near '"description") VALUES ( 'any' )' at line 1
    The error occurred in
    C:\ColdFusion8\wwwroot\mysqltest\untitled1.cfm: line 7
    5 : VALUES (<cfif IsDefined("FORM.description") AND
    #FORM.description# NEQ "">
    6 : <cfqueryparam value="#FORM.description#"
    cfsqltype="cf_sql_clob" maxlength="2147483647">
    7 : <cfelse>
    8 :
    9 : </cfif>
    SQLSTATE 42000
    SQL INSERT INTO testedmemo ("description") VALUES ( (param 1)
    VENDORERRORCODE 1064
    DATASOURCE test

    Try using backticks to escape the column name description.
    Try removing the hash signs around FORM.description.
    Edit: You can probably also omit the maxlength attribute in
    your queryparam.

Maybe you are looking for

  • IMAQ AVI read frame performanc​e

    I've been playing around with the read AVI with buffer example in the Developer Community.  It reads all the frames of an AVI into memory and then plays them back at the appropriate frame rate.  This works ok with very small AVI files but with anythi

  • I got the message "Numbers quit unexpectedly" along with the following:

    Process:         Numbers [1412] Path:            /Applications/iWork '09/Numbers.app/Contents/MacOS/Numbers Identifier:      com.apple.iWork.Numbers Version:         2.1 (436) Build Info:      Numbers-4360000~1 Code Type:       X86 (Native) Parent Pr

  • Convert analog DID trunk to a PRI?

    Hi, I'm trying to figure out the least expensive way of converting an analog DID trunk coming from the phone company to a PRI that I can feed into our ISDN switch. I realize that the analog DID trunk only equates out to one B-channel + one D-channel

  • When listening to a podcast the voices are talking to fast to understand, how can I fix this?

    I am trying to listen to a podcast and the voices are like the chipmunks talking. How can I fix it?

  • Module_webapps and liquid layouts

    Hello, I have been playing around on the beta server and had some questions on how to use module_webapps with the liquid language on BC. my question is what is the best way to test the new features of the module_webapps tag: {module_webapps id="webap