Troia ile etiket yazıcısından direkt etiket basmak.

Birinci adım etiket basacağımız etiket yazıcısı ile birlikte gelen etiket programı ile basıalcak olan etiketi birebir tasarlamak. Etikette kullanılacak tüm nesneler için yazı tipi olarak yazıcının kendi yazı tipi ve barkod tipleri seçilmeli. Bu program ile tasarlayıp çıktısını aldığımızda istenen etiketi elde etmiş isek. Program içinden yazdır deyip çıktıyı yazıcıya değil dosyaya gönderin. Bu genelde .prn uzantılı bir dosya yaratmış olacaktır. Bu dosyayı bir metin düzenleyicisi ile açıp içindeki verilerin sizin etiket tasarımında kullandığınız alanlar olduğunu görün. Bu hali ile troia için bu dosya bir txt dosyasıdır. Bu txt dosyasını troia ile açıp alanlara istediğiniz verileri yazıp son olarak bunu PRINTTEXT ile direkt yazıcıya gönderebilirsiniz.

OBJECT: 
 STRING SFILENAMESABLON,
 STRING DELIM,
 STRING STRINGVAR1,
 STRING STRINGVAR2,
 STRING STRDOC,
 STRING NEWSTR,
 STRING REPSTR;

STRINGVAR2 = 'Cp1252';
SFILENAMESABLON = 'ETIKETSABLON\';
STRINGVAR1 = '\\Fahri-pc\ARGOX';
SFILENAMESABLON = SFILENAMESABLON + 'RECETE.PRN';

LOOP AT TBLETK 
BEGIN
    OPEN FILE SFILENAMESABLON FORREAD;
    GETBLOCK STRDOC, DELIM;
    CLOSE FILE;
    REPSTR = 'SATIR1';
    NEWSTR = TBLETK_SATIR1;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR2';
    NEWSTR = TBLETK_SATIR2;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR3';
    NEWSTR = TBLETK_SATIR3;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR4';
    NEWSTR = TBLETK_SATIR4;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR5';
    NEWSTR = TBLETK_SATIR5;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR6';
    NEWSTR = TBLETK_SATIR6;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR7';
    NEWSTR = TBLETK_SATIR7;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR8';
    NEWSTR = TBLETK_SATIR8;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR9';
    NEWSTR = TBLETK_SATIR9;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    PRINTTEXT STRDOC TO STRINGVAR1 CODEPAGE STRINGVAR2;
ENDLOOP;

Yeni yaratılan material kodunun tarih bilgileri yanlış girilmiş ise güncellenecek tablolar…

DECLARE @MAT VARCHAR(50)=’TCELT239-T178G6′
UPDATE IASMATVENDORS SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATSTOCK SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATX SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATBASIC SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATFMS SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATUNITS SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATMOP SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATMRPSTO SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATOPTIONS SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT

MySQL e scriptlerin çakılması

Geliştirme SQL dosyasının ilk satırında aşağıdaki satır olmalı..

SET NAMES LATIN5;

Scripti işlemek için komut isteminde:

mysql -uKULLANICI -pSIFRE -hServerip

ile mysql bağlanılır.

showdatabases;

komutu ile veritabanları listelenir.

mysql -uKULLANICI -pSIFRE -hServerip  IAS602d < c:\hcmt82.sql

komutu ile script ilgili veritabanına çakılır.

Dahasonra da bu script hangi dialog veya sınıflarla ilgili ise çevir kaydet yapılır.

IAS ta saat kriterine göre anlık stok çekmek

SELECT I.COMPANY, I.PLANT, I.WAREHOUSE, I.STOCKPLACE,
         I.SPECIALSTOCK, I.MATERIAL,
         MAX( I.SKUNIT ) AS SKUNIT, MAX( M.STEXT ) AS STEXT
         , SUM( I.SKQUANTITY * ( 1 - 2 * I.QPOSTWAY ) ) AS TOTALSTOCK
         , MAX( I.ISVARIANT ) AS ISVARIANT
         , MAX( I.VARIANTKEY ) AS VARIANTKEY
         , MAX( I.VOPTIONS ) AS VOPTIONS
         ,I.PROJECT,I.CONFIRMATION,I.CONFIRMPOS,I.BATCHNUM 

FROM IASINVITEM I WITH (NOLOCK),  IASMATX M WITH(NOLOCK) 

WHERE I.CLIENT = '00'  AND I.COMPANY LIKE '01'  AND I.PLANT LIKE '01'  
AND I.WAREHOUSE LIKE '008'  AND I.STOCKPLACE LIKE '01'  
AND I.SPECIALSTOCK LIKE '%'  AND I.MATERIAL LIKE '%'  
AND I.CREATEDAT <= '11.21.2012 12:15:00'  
AND M.CLIENT = I.CLIENT  
AND M.COMPANY = I.COMPANY  AND M.PLANT = '*'  AND M.LANGU = 'T'  
AND M.MATERIAL = I.MATERIAL  
AND M.VALIDFROM <= I.CREATEDAT  
AND M.VALIDUNTIL >= I.CREATEDAT 
AND I.ISCANCELED = 0 

GROUP BY I.COMPANY, I.PLANT, I.WAREHOUSE, I.STOCKPLACE
         , I.SPECIALSTOCK,  I.MATERIAL
,I.ISVARIANT ,I.VARIANTKEY,I.VOPTIONS,I.PROJECT,I.CONFIRMATION
,I.CONFIRMPOS,I.BATCHNUM

HAVING SUM( I.SKQUANTITY * ( 1 - 2 * I.QPOSTWAY ) ) > 0.01 OR  
SUM( I.SKQUANTITY * ( 1 - 2 * I.QPOSTWAY ) ) < -0.01

ORDER BY I.COMPANY, I.MATERIAL,I.VOPTIONS, I.PLANT, I.WAREHOUSE
         , I.STOCKPLACE, I.SPECIALSTOCK