Thursday, October 18, 2007

SAP R/3 : Transaction Codes

I have gathered a few important transaction codes along the way in my projects and it had helped me a lot. Here are the following and I hope it will help you like it had helped me in the past, the present and the future:

SE43 - Menu Customization
SE93 - Transaction Code Maintenance
SE16N - Enjoy Screen version of SE16 for data viewing
SCC1 - Transport Copy
SE18 - Class and Methods templates for creation and maintenance
SE19 - Class and Methods maintenance
PA03 - Payroll Run - Release
FS00 - GL master data maintenance (create, change, delete, display)
FK03 - Display vendor master data
FK01 - Create vendor master data
FK02 - Change vendor master data
F-02 - FI posting
S_ALR_87012086 - to be confirmed
PC00_M99_DKON - GL account and wage type display (payroll)
PE01 - Schema maintenance
PA40 - HR maintenance
RSTXSCRP - SAPScript Export/Import

is sky the limit... transaction codes

Wednesday, October 17, 2007

SAP R/3 : FI Posting 1 (Conversation)

Lately, I had a conversation with a good friend of mine who had several years of FI consulting experience and below is what I found out from him:
Wilstroth: Hi, Therry I need your help in FI… I need to know a few things...
Therry: okay shoot

Wilstroth: When user says update vendor GL, say, 323XXX, it means I go to F-02 to do a posting key 40… then 50 right?
Therry: First, what kind of transaction they want to post?

Wilstroth: The transaction is regarding to payroll
Wilstroth: DR vendor
Wilstroth: CR bank

Therry: can you tell me the description of GL 323XXX?
Wilstroth: It’s reimbursement.

Therry: I assumed the vendor is the employee, correct?
Wilstroth: yes, you are right!

Therry: Okay, can you go to TCODE FS00?
Therry: Then type that GL 323XXX…
Therry: Check that GL with your specific company code…
Therry: Choose TAB "Control Data"…
Therry: Choose the Display icon first…
Therry: Then only choose “Control Data”…
Therry: Is there any field called "Recon. Account For Acct Type"?
Wilstroth: Yes, there is…

Therry: Are they referring to Vendor?
Wilstroth : Yes, they are!

Therry: You can post directly to 323XXX with posting key 40…
Therry: And 50 for the bank account (credit)…
Wilstroth: ic... ic...
Therry: Ok now... find the vendor master data first.
Wilstroth: ok...

Wilstroth: How do I search for the vendor master data?
Therry: The TCODE is FK03.

Wilstroth: From the list given by user, the vendor (employee) GL is 11000XXX.

Therry Mully: Type this TCODE S_ALR_87012086.
Therry Mully: and type the company code
Therry Mully: choose DYNAMIC SELECTIONS button
Therry Mully: on the right find reconciliation acct…
Therry Mully: then fill it with 11000XXX… and execute it (F8)
Therry Mully: you will see all vendors under that 11000XXX GL account
Therry Mully: Okay, now about the posting…
Therry Mully: usually it began with this journal entries:
Therry Mully: Dr. (40) Expense
Therry Mully: Cr. (31) Payable (Employee vendor)
Therry Mully: then it will be cleared with these journal entries:
Therry Mully: Dr. (25) Payable (Employee vendor)
Therry Mully: Cr. (50) Bank
Wilstroth: Okay... Now I see the picture!

Therry: you cannot use posting key 40 or 50 for vendor since you cannot post directly to 11000XXX!
Therry: 11000XXX is reconciliation account I assume, under this account you have employee vendor accounts and you only can post into the sub ledger or vendor accounts
Wilstroth: Yes, you are right!
Therry: please check 11000232 account again with tcode FS00, the one previously I taught you
Wilstroth: ok... hold on
Therry: check whether it is reconciliation account or not

Wilstroth: but its not existing
Therry: hah?

wilstroth: yeah i am at QAS
Therry: then let the user know

wilstroth: so there will do it right?
Therry: if they use the same concept i told u for salary...

Therry: then they should have payable account and employee vendor under it
wilstroth: ... ok let me go check further... thanks man...
Therry: welcome...

wilstroth: because i am doing update part on DR(25) and CR(50)... i will be using posting key 25 and posting key 50 right?
Therry: yes

wilstroth: that is the only part i am doing... journal entries... will be done by user
Therry: but you need the first journal entries before you do 25-50 posting
Therry: otherwise, the payable account will have OPEN status

wilstroth: ok.. i take note of that
is sky the limit... a conversation with FI consultant

Wednesday, October 10, 2007

SAP R/3 : GUI_UPLOAD with # as SPACE...

There are many times when we need to upload a text file into an internal table we are not aware that the SPACE among the line of strings in the text file is represented as '#'. When we unknowingly get a row of items and started to split it, using SPLIT syntax with the normal '#' symbol, into the columns of your internal table then we get garbage or unreadable contents in the internal table.

That is because the space is not recognized during upload by GUI_UPLOAD function module. The SPACE among the strings of line items will be replace by '#'. However, this hash or '#' is not your average character '#' but it is an ASCII character of value 09. Thus it showed as '#' in your strings of line items.

Therefore, you will need to do something in your coding so you can SPLIT your string of items properly with the '#'. So, you have to declare a variable with X and value of 09 at the begining of your code. Then only you can use it in your SPLIT syntax. For example, the code below.

Data : tp_hash TYPE x VALUE '09'.
Data : tp_result1(15) TYPE c.
Data : tp_result2(15) TYPE c.

Assuming variable tp_file-item contains 'WILLIAM#WILSTROTH' and obtained via GUI_UPLOAD.

SPLIT tp_file-item AT tp_hash INTO tp_result1 tp_result2.

Write : / tp_result1, tp_result2.

Thus, it now shows:

William Wilstroth

is sky the limit... split with ASCII 09... not #...