/sage-sdata-php

PHP library used to interact with SAGE accounting software using the SDATA extension.

Primary LanguagePHP

sage-sdata-php

PHP library used to interact with SAGE accounting software using the SDATA extension.

    /*
     * CONNECTION
     */
    $sdata = new \Ia\Sdata\Conn(array(
        'hostname'=>'https://www.yourhostname.com/',
        'username'=>'username',
        'password'=>'password',
        'company'=>'companyname'
    ));

    /*
     * UPDATE EXAMPLE
     */
    try{

        $query = new \Ia\Sdata\Query\Type\Update($sdata);
        $query->setResourceKind('SO_SalesOrderDetail');
        $query->setResourceSelector('\'0000060;000001\'');
        $query->setFieldValues(array(
                'ItemCode' => '/3251',
                'CostOfGoodsSoldAcctKey' => '403001000',
                'QuantityOrdered' => 5
                'SalesAcctKey' => '9550000W2',
            )
        );
        $query->getXmlResult();            

    } catch (Exception $e) {
        echo 'Exception: '.$e->getMessage();
    }
    
    /*
     * CREATE LINE ITEM EXAMPLE
     */
    try{

        $query = new \Ia\Sdata\Query\Type\Create($sdata);
        $query->setResourceKind('SO_SalesOrderDetail');
        //$query->setChildResourceKind('SO_SalesOrderHeaderSPECIALSECOND');
        $query->setFieldValues(
            array(
                    'SalesOrderNo' => '0000060',
                    'ItemCode' => 'C-10X15.3-A36',
                    'CostOfGoodsSoldAcctKey' => '9550000X4',
                    'SalesAcctKey' => '9550000W2',
                    'QuantityOrdered' => 5
                )
        );
        $query->getXmlResult();            

    } catch (Exception $e) {
        echo 'Exception: '.$e->getMessage();
    }    

    /*
     * CREATE EXAMPLE
     */
    try{

        $query = new \Ia\Sdata\Query\Type\Create($sdata);
        $query->setResourceKind('SO_SalesOrderHeaderSPECIAL');
        $query->setChildResourceKind('SO_SalesOrderHeaderSPECIALSECOND');
        $query->setFieldValues(
            array(
                'ARDivisionNo'=>'00',
                'CustomerNo'=>'CUST01',
                'Comment'=>'test',
            )
        );
        $query->setChildFieldValues(array(
                        'ItemCode' => 'C-10X15.3-A36',
                        'CostOfGoodsSoldAcctKey' => '9550000X4',
                        'SalesAcctKey' => '9550000W2',
                        'QuantityOrdered' => 5
                    ),
                    0 //child sequence
            );
        $query->getXmlResult();            

    } catch (Exception $e) {
        echo 'Exception: '.$e->getMessage();
    }        

    /*
     * DELETE EXAMPLE 
     */
    try{   
        $query = new \Ia\Sdata\Query\Type\Delete($sdata);
        $query->setResourceKind('SO_SalesOrderHeader');
        $query->setResourceSelector('\'0000048\'');
        $query->getXmlResult();
    } catch (Exception $e) {
        echo 'Exception: '.$e->getMessage();
    }

    /*
     * RETRIEVE COLLECTION EXAMPLE
     */
    try{   
        //handle collection
        $query = new \Ia\Sdata\Query\Type\Collection($sdata);
        $query->setResourceKind('SO_SalesOrderHeader');
        $query->setQueryParam('count',1);
        $query->setQueryParam('startIndex',1);
        $entries = $query->getEntries();           
    } catch (Exception $e) {
        echo 'Exception: '.$e->getMessage();
        exit;
    }
    
    /*
     * RETRIEVE SINGLE ENTRY EXAMPLE
     */

    try
        $query = new \Ia\Sdata\Query\Type\Collection($sdata);
        $query->setResourceKind('SO_SalesOrderDetail');
        $query->setQueryParam('where','SalesOrderNo eq \''.$salesOrderNo.'\'');
        $entries = $query->getEntries(); 
    } catch (Exception $e) {
        echo 'Exception: '.$e->getMessage();
    }