For your first question have a look at: msdn.microsoft.com/.../cc594064.aspx
It will tell you all common tasks in enterprise portal development.
For your second question: JournalTableData::newTable(this).initFromJournalName(inventJournalName);
This will initiate an inventjournal. The inventJournalName you need to provide is the one of movement.