Insert / Select Into

Caros,
Hoje não vou escrever sobre AX, mas sobre sql. Sempre soube usar o select into, que cria uma nova tabela baseada em outra, por exemplo:

SELECT * INTO newTable FROM oldTable

Este comando cria uma tabela chamada newTable com os dados da oldTable.

No entanto, muitas vezes eu quero apenas adicionar aos dados já existentes os dados de outra tabela, e foi ai que aprendi o:

INSERT INTO tableB SELECT * FROM tableA.

Fica ai a dica, pra mim é/foi/será bastante útil.

Abraço!





Relacionamento entre as DIRPARTYTABLEs

Caros,
Tava aqui recuperando uns endereços para uma integração e cheguei até uma query que relaciona tudo.

SELECT *
FROM   CUSTTABLE
       INNER JOIN DIRPARTYTABLE
       ON     CUSTTABLE.PARTYID    = DIRPARTYTABLE.PARTYID
       AND    CUSTTABLE.DATAAREAID = DIRPARTYTABLE.DATAAREAID
       INNER JOIN DIRPARTYADDRESSRELATIONSHIP
       ON     DIRPARTYTABLE.PARTYID    = DIRPARTYADDRESSRELATIONSHIP.PARTYID
       AND    DIRPARTYTABLE.DATAAREAID = DIRPARTYADDRESSRELATIONSHIP.DATAAREAID
       INNER JOIN DIRPARTYADDRESSRELATIONSHI1066
       ON     DIRPARTYADDRESSRELATIONSHIP.RECID      = DIRPARTYADDRESSRELATIONSHI1066.PARTYADDRESSRELATIONSHIPRECID
       AND    DIRPARTYADDRESSRELATIONSHIP.DATAAREAID = DIRPARTYADDRESSRELATIONSHI1066.DATAAREAID
       INNER JOIN ADDRESS
       ON     DIRPARTYADDRESSRELATIONSHI1066.REFCOMPANYID = ADDRESS.DATAAREAID
       AND    DIRPARTYADDRESSRELATIONSHI1066.ADDRESSRECID = ADDRESS.RECID
       AND    DIRPARTYADDRESSRELATIONSHI1066.DATAAREAID   = ADDRESS.DATAAREAID

[]s
Pichler





Microsoft Dynamics AX 2012 White Paper: Upgrade Best Practices

Overview
We strongly recommend that you read this paper before upgrading. The following topics are discussed:
Analyzing customizations
Purging and archiving data with the Intelligent Data Management Framework
Analyzing space requirements for databases
Creating project plans for testing
Recommended upgrade process
Preparing the source database
Preparing the source AOS instance
Using the state transfer tool
Preparing the target database
Preparing the target AOS instance

http://www.microsoft.com/download/en/details.aspx?id=28701&WT.mc_id=rss_alldownloads_all

[]s
Pichler





Populando os totais da LedgerTable

Pessoal,
Se alguém mais passar por isso e precisar, segue um script que lê a LedgerTable e popula a LedgerTableInterval carregando assim os totais (Intervalo de Contas).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
static void createLedgerTableInterval(Args _args)
{
    LedgerTable                 ledgerTable;
    LedgerTableInterval         ledgerTableInterval;
    str                         myAccount, strPos;
    Counter                     i;
    ;
 
 
    while select AccountNum from ledgerTable
      where ledgerTable.AccountPlType == LedgerAccountType::sum
    {
        myAccount = ledgerTable.AccountNum;
        for(i = strlen(myAccount); i > 0; i--)
        {
            strPos = subStr(myAccount, i, 1);
 
            if(strPos == "0")
                continue;
 
            ledgerTableInterval.AccountTableId  = ledgerTable.TableId;
            ledgerTableInterval.AccountRecID    = ledgerTable.RecId;
            ledgerTableInterval.FromAccount     = subStr(myAccount, 1, i);
            ledgerTableInterval.ToAccount       = strfmt("%1z", ledgerTableInterval.FromAccount);
            ledgerTableInterval.insert();
            i = 0;
        }
    }
}

[]s
Pichler





Base de NCMs

Caros,
Como no post anterior, segue a base de ncms e o respectivo script para importar.

ncms_20111206.rar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
static void loadNCMsFromFile(Args _args)
{
    TaxFiscalClassification_BR  buffer;
    Dialog                      dialog;
    DialogField                 dfFileName;
    TextIO                      inFile;
    RecordInsertList            recordInsert = new RecordInsertList(tableNum(TaxFiscalClassification_BR));
    Container                   line;
    ;
 
    delete_from buffer;
 
    dialog      = new Dialog("Selecione o arquivo");
    dfFileName  = dialog.addField(typeId(FilenameOpen), "Selecione o arquivo");
    if(!dialog.run())
        return;
 
    inFile = new TextIO(dfFileName.value(), 'R');
    inFile.inFieldDelimiter(";");
 
    line = inFile.read();
    while(line)
    {
        buffer.FiscalClassificationId   = conpeek(line,1);
        buffer.Name                     = conpeek(line,2);
        buffer.IPITaxCode               = 'IPI 0'; //hard coded porque é o que eu preciso.
        recordInsert.add(buffer);
        line = inFile.read();
    }
    recordInsert.insertDatabase();
}

[]s
Pichler





Tags / Categorias

RSS



Arquivo

Dynamics Community