Essa semana o Angelo Amaral, consultor e amigo pessoal, me perguntou como fazer para pegar determinada tabela e listar seus campos e o tamanho de cada um.
Com a duvida dele, criei um novo job e fui escrevendo até chegar no seguinte código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | static void getSizeOfFields(Args _args) { DictTable dictTable; DictField dictField; FieldId fieldId; ; dictTable = new DictTable(tableNum(VendTable)); for (fieldId = dictTable.fieldNext(0); fieldId; fieldId = dictTable.fieldNext(fieldId)) { dictField = dictTable.fieldObject(fieldId); info( strfmt("%1 - %2", dictField.stringLen(), dictField.name() ) ) ; } } |
Daí em diante, é só usar a imaginação para melhorar o job e fazer o que quiser.
[]s
Pichler
3 Responses
Alex (Tim Tim)
14|Oct|2009 1Olá Pichler,
é simplismente fantastico esse job que você criou, mais esta faltando declarar a variavel dictField.
static void getSizeOfFields(Args _args)
{
DictTable dictTable;
FieldId fieldId;
dictField dictField;
;
flw cara.. abraços
at.
Alex (Tim Tim)
Ricardo Pichler
17|Oct|2009 2Valeu tim tim, consertado!
[]s
Escobar
19|Dec|2018 3Cara, muito bom. Eu sou (ainda posso dizer) novo no AX. Muitos campos estão vindo com tamanho 0, exemplos RecId, alguns outros campos “automáticos” como modifiedBy, e campos “memo”. Pode me ajudar nesta questão?
Desde já meu muito obrigado, o job ficou excelente.
Grande abraço,
Leave a reply