Belajar ABAP Programming Dasar 2

Belajar Programming ABAP Dasar 2

Salam ABAP HR Indonesia !

Nah untuk pelajaran yang ke dua kita akan coba bikin inputan periode sebelum program di jalankan dan data akan di proses sesuai dengan periode yang di input tersebut.


Step:
1. Edit program dan tambahkan paramater untuk inputan tanggal mulai dan tanggal akhir.
* patameter untuk user input tanggal mulai dan akhir
PARAMETERS: ZBEGDA LIKE SY-DATUM,
ZENDDA LIKE SYDATUM.

















2. Edit program dan tambahkan di bawah INITIALIZATION nilai awal Zbegda dan Zendda.
* nilai awal periode
ZBEGDA = SY-DATUM.
ZENDDA = SY-DATUM.

3. Edit program dan ganti line :
LOOP AT ITAB_PA0002 WHERE GBDAT > '19693112' AND GBDAT < '19710101'. Menjadi : LOOP AT ITAB_PA0002 WHERE GBDAT >= ZBEGDA AND GBDAT <= ZENDDA.

4. Untuk lebih informatif ganti tampilan inputan menjadi “Tanggal Mulai” dan “Tanggal Akhir”. Click Goto > Text Elements > Selection Texts
















5. Masukan Textnya. Kemudian click tombol Activate untuk di aktifkan. Click tombol Back kembali ke source code.




















Nah sekarang user bias input tanggal mulai dan akhir yang nantinya akan di seleksi di program untuk tanggal lahir berdasarkan range tersebut.
















untuk code secara lengkapnya sbb:



REPORT ZPRG1 .

* Define internal table untuk PA0002 dengan strukture disamakan
DATA: ITAB_PA0002 LIKE PA0002 OCCURS 0 WITH HEADER LINE.
* Define variable Tampungan dengan type integer
DATA: ZJML_LAHIR TYPE I.

* patameter untuk user input tanggal mulai dan akhir
PARAMETERS: ZBEGDA LIKE SY-DATUM,
            ZENDDA LIKE SY-DATUM.

* tempat untuk inisialisasi variable / parameter
INITIALIZATION.
* nilai awal periode
  ZBEGDA = SY-DATUM.
  ZENDDA = SY-DATUM.

* Awal program proses akan di jalankan
START-OF-SELECTION.

* baca list PA0002 ke internal table
  SELECT * FROM PA0002 INTO TABLE ITAB_PA0002.

* hitung jumlah Employee yang lahir tahun 1970
  LOOP AT ITAB_PA0002 WHERE GBDAT >= ZBEGDA AND GBDAT <= ZENDDA.
    ZJML_LAHIR = ZJML_LAHIR + 1.
    WRITE : / ITAB_PA0002-PERNR, ITAB_PA0002-CNAME.
  ENDLOOP.

  WRITE : / 'JUMLAH : ', ZJML_LAHIR.

* akhir program proses
END-OF-SELECTION.

semoga berhasil

[ Read More..... Baca Selengkapnya Click disini ]

Belajar ABAP Programming Dasar 1.

Belajar Programming ABAP Dasar 1.
Salam ABAP HR Indonesia !

Sebagai dasar dari pemrogramman di SAP kita akan coba belajar nge-ABAP seperti apa ?. kita coba dari yang mudah dulu semoga gak ada kendala. kita akan bikin list report untuk Employee yang lahir di tahun 1970 dan dihitung ada berapa orang. ikuti langkah langkahnya.


1. Ketik tcode SE38 pada command field dan tekan enter.










2. Ketik nama program yang akan kita buat. Kemudian click Create.














3. Masukan Titile program yang kita buat. Tentukan Type dari atrribute program yang kita buat. Kemudian cliak save.



















4. Click Tombol “Local Object” jika program tidak untuk di transport ke Server Production. Jika akan di transport maka isi Development Class kemudian Click Save. Untuk belajar kali ini kita pilih tombol “Local Object”
















5. Ketik Code nya seperti dibawah ini.


REPORT ZPRG1 .

* Define internal table untuk PA0002 dengan strukture disamakan
DATA: ITAB_PA0002 LIKE PA0002 OCCURS 0 WITH HEADER LINE.
* Define variable Tampungan dengan type integer
DATA: ZJML_LAHIR TYPE I.

* tempat untuk inisialisasi variable / parameter
INITIALIZATION.


* Awal program proses akan di jalankan
START-OF-SELECTION.

* baca list PA0002 ke internal table
  SELECT * FROM PA0002 INTO TABLE ITAB_PA0002.

* hitung jumlah Employee yang lahir tahun 1970
  LOOP AT ITAB_PA0002 WHERE GBDAT > '19693112' AND GBDAT < '19710101'.
    ZJML_LAHIR = ZJML_LAHIR + 1.
    WRITE : / ITAB_PA0002-PERNR, ITAB_PA0002-CNAME.
  ENDLOOP.

  WRITE : / 'JUMLAH : ', ZJML_LAHIR.

* akhir program proses
END-OF-SELECTION.




6. Click Tombol Activate untuk mengaktivasi program yang sudah di edit / diketik.











7. Click Tombol Test (F8) untuk menjalankan program.










Nah selesai deh tinggal liat hasilnya.
program akan menampilkan nomor karaywan dan nama. serta dibaris terakhir akan di cetak jumlah Employee yang lahir tahun 1970 tersebut.
[ Read More..... Baca Selengkapnya Click disini ]

SELECT A DIRECTORY / FOLDER

ABAP - SELECT A DIRECTORY / FOLDER
Salam ABAP HR Indonesia !

suatu waktu ada request user untuk download file di folder tertentu, atau membaca fiel di folder tertentu dari PC mereka. pada saat program jalan kemudian memilih folder / Directory maka diperlukan code dibawah ini.

REPORT ZTEST NO STANDARD PAGE HEADING LINE-SIZE 255.

* Select Directory / Folder in Local Computer
TYPE-POOLS SSCR.
DATA: STRINGPATH TYPE STRING.
DATA RESTRICT TYPE SSCR_RESTRICT.

PARAMETERS: P_PATH LIKE RLGRAP-FILENAME.

INITIALIZATION.
* set default value 
  CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
       EXPORTING
            RESTRICTION = RESTRICT.
  IF SY-BATCH IS INITIAL.
    CALL FUNCTION 'WS_ULDL_PATH'
         IMPORTING
              DOWNLOAD_PATH = P_PATH.
  ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.
  STRINGPATH = P_PATH.
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
     EXPORTING
       INITIAL_FOLDER  = STRINGPATH
    CHANGING
      SELECTED_FOLDER = STRINGPATH.
  CALL METHOD CL_GUI_CFW=>FLUSH.
  P_PATH = STRINGPATH.


START-OF-SELECTION.

* your code here ....


END-OF-SELECTION.


hasilnya [ Read More..... Baca Selengkapnya Click disini ]

Useful Transaction codes in SAP HR module

Master Data
Salam ABAP HR Indonesia !

PA10 Personnel File
PA20 Display HR Master Data
PA30 Maintain HR Master Data
PA40 Personnel Events
PA41 Change Hiring Data

PA42 Fast Data Entry for Events
PRMD Maintain HR Master Data
PRMF Travel Expenses: Feature TRVFD
PRML Set Country Grouping via Popup
PRMM Personnel Events
PRMO Travel Expenses: Feature TRVCO
PRMP Travel Expenses: Feature TRVPA
PRMS Display HR Master Data
PRMT Update Matchcode
PSO3 Infotype overview
PSO4 Individual maintenance of infotypes

Time Management

PA51 Display Time Data
PA53 Display Time Data
PA61 Maintain Time Data
PA62 List Entry of Additional Data
PA63 Maintain Time Data
PA64 Calendar Entry
PA70 Fast Data Entry
PA71 Fast Entry of Time Data
PBAB Maintain vacancy assignments
PT01 Create Work Schedule
PT02 Change Work Schedule
PT03 Display Work Schedules

Payroll

PC00 Run Payroll
PC10 Payroll menu USA
PE00 Starts Transactions PE01,PE02,PE03
PE01 Schemas
PE02 Calculation Rules
PE03 Features
PE04 Create functions and operations
PE51 HR form editor
PRCA Payroll calendar
PRCT Current Settings
PRCU Printing Checks USA
PRD1 Create DME
SM31 Maintain Tables
SM12 Locked Secessions
TSTC Table lookup
SPR0 IMG
SE16 Data Browser (Table reports)
PP03 PD Tables
PP0M Change Org Unit
P013 Maintain Positions
PO03 Maintain Jobs

Benefits

PA85 Benefits - Call RPLBEN11
PA86 Benefits - Call RPLBEN07
PA87 Benefits - Call RPLBEN09
PA89 COBRA Administration
PA90 Benefits Enrollment – Individual
PA91 Benefits - Forms
PA92 Benefits Tables - Maintain
PA93 Benefits Tables - Display
PA94 Benefits - Access Reporting Tree
PA95 Benefits IMG - Jump to Views
PA96 Benefits reporting
PA97 Salary Administration - Matrix
PA98 Salary Administration
PA99 Compensation Admin. - rel.changes
PACP HR-CH: Pension fund, interface

Payroll

PC00 Run Payroll
PC10 Payroll menu USA
PE00 Starts Transactions PE01,PE02,PE03
PE01 Schemas
PE02 Calculation Rules
PE03 Features
PE04 Create functions and operations
PE51 HR form editor
PRCA Payroll calendar
PRCT Current Settings
PRCU Printing Checks USA
PRD1 Create DME
SM31 Maintain Tables
SM12 Locked Secessions
TSTC Table lookup
SPR0 IMG
SE16 Data Browser (Table reports)
PP03 PD Tables
PP0M Change Org Unit
P013 Maintain Positions
PO03 Maintain Jobs

Benefits

PA85 Benefits - Call RPLBEN11
PA86 Benefits - Call RPLBEN07
PA87 Benefits - Call RPLBEN09
PA89 COBRA Administration
PA90 Benefits Enrollment – Individual
PA91 Benefits - Forms
PA92 Benefits Tables - Maintain
PA93 Benefits Tables - Display
PA94 Benefits - Access Reporting Tree
PA95 Benefits IMG - Jump to Views
PA96 Benefits reporting
PA97 Salary Administration - Matrix
PA98 Salary Administration
PA99 Compensation Admin. - rel.changes
PACP HR-CH: Pension fund, interface

General/Reporting

PM00 Menu for HR Reports
PM01 Dialogs in HR - Create custom infotypes
PRF0 Standard Form
PSVT Dynamic Tools Menu
PAR1 Flexible employee data
PAR2 Employee list

PD - Organizational Management

PP0M Change Org Unit
PO03 Maintain Jobs
PO13 Maintain Position
PO10 Maintain Organizational Unit
PP01 Maintain Plan Data (menu-guided)
PP02 Maintain Plan Data (Open)
PP03 Maintain Plan Data (event-guided)
PP05 Number Ranges
PP06 Number Range Maintenance: HRADATA
PP07 Tasks/Descriptions
PP69 Choose Text for Organizational Unit
PP90 Set Up Organization
PPO1 Change Cost Center Assignment
PPO2 Display Cost Center Assignment
PPO3 Change Reporting Structure
PPO4 Display Reporting Structure
PPO5 Change Object Indicators (O/S)
PPO6 Change Object Indicators O/S
PPOA Display Menu Interface (with dyn.)
PPOC Create Organizational Unit
PPOM Maintain Organizational Plan
PPOS Display Organizational Plan
PQ01 Events for Work Center
PQ02 Events for Training Program
PQ03 Events for Job
PQ04 Events for Business Event Type
PQ06 Location Events
PQ07 Resource Events
PQ08 Events for External Person
PQ09 Events for Business Event Group
PQ10 Events for Organizational Unit
PQ11 Events for Qualification
PQ12 Resource Type Events
PQ13 Events for Position
PQ14 Events for Task
PQ15 Events for Company
PSO5 PD: Administration Tools
PSOA Work Center Reporting
PSOC Job Reporting
PSOG OrgManagement General Reporting
PSOI Tools Integration PA-PD
PSOO Organizational Unit Reporting
PSOS Position Reporting
PSOT Task Reporting

Recruitment

PB10 Init.entry of applicant master data
PB20 Display applicant master data
PB30 Maintain applicant master data
PB40 Applicant events
PB50 Display applicant actions
PB60 Maintain applicant actions
PB80 Evaluate vacancies
PBA0 Evaluate advertisements
PBA1 Applicant index
PBA2 List of applications
PBA3 Applicant vacancy assignment list
PBA4 Receipt of application
[ Read More..... Baca Selengkapnya Click disini ]