Setiap kita membuat program Pro*c selalu kita menulis di awal code sbb :
fc_connect(argv, argc, {parameter2}, {parameter3});
Dimana parameter 0 dan 1 nggak perlu diubah.
Untuk parameter ke-2, diisi dengan angka sesuai dengan jumlah parameter yang diparsing.
Untuk parameter ke-3, diisi dengan angka/code yang merefrence ke table TRA_MESSAGE. Digunakan untuk messaging jika terjadi error pada saat parsing parameter.
Saturday, September 29, 2007
Friday, September 28, 2007
Add Menu melalui Database
Untuk menambahkan menu melalui database tidak melalui program GOLD,yang harus dilakukan adalah melakukan insert di 3 table,sbb :
ADM_MENUS (ameident)
TRA_ADM_MENUS (tameident)
ADM_PROFILES (aprprof, aprident)
field-field di dalam kurung merupakan relation dari ketiga table tersebut.
ADM_MENUS (ameident)
TRA_ADM_MENUS (tameident)
ADM_PROFILES (aprprof, aprident)
field-field di dalam kurung merupakan relation dari ketiga table tersebut.
Wednesday, September 26, 2007
Hati-hati Saat menambahkan pc yang akan dicompile
Ini benar-benar jebakan yang kalau tidak jeli maka,akan stress juga.
Ini terjadi saat saya menambahkan pc yang di dalam makent untuk specif. Dan ternyata selalu error, spt berikut ini tambahannya :
APOLLO_FOP = $(DESTEXE)\apsha01p.exe \
$(DESTEXE)\appos12p.exe \
$(DESTEXE)\apinv22p.exe \
$(DESTEXE)\psccl57p.exe \
$(DESTEXE)\psccl58p.exe \
$(DESTEXE)\pscde10p.exe \
$(DESTEXE)\pscde11p.exe \
$(DESTEXE)\psfou91p.exe \
$(DESTEXE)\psinv02p.exe \
$(DESTEXE)\psinv09p.exe \
$(DESTEXE)\psinv12p.exe \
$(DESTEXE)\psinv14p.exe \
$(DESTEXE)\psinv15p.exe \
$(DESTEXE)\psinv21p.exe \
$(DESTEXE)\psinv90p.exe \
$(DESTEXE)\psinv91p.exe \
$(DESTEXE)\pssto06p.exe \
$(DESTEXE)\pssto31p.exe
nah, saat pertama kali saya coba compile All, ternyata selalu error, ternyata penyebabnya adalah adanya spasi setelah tanda \. So inget, hilangkan tanda space setelah tanda \
Ini terjadi saat saya menambahkan pc yang di dalam makent untuk specif. Dan ternyata selalu error, spt berikut ini tambahannya :
APOLLO_FOP = $(DESTEXE)\apsha01p.exe \
$(DESTEXE)\appos12p.exe \
$(DESTEXE)\apinv22p.exe \
$(DESTEXE)\psccl57p.exe \
$(DESTEXE)\psccl58p.exe \
$(DESTEXE)\pscde10p.exe \
$(DESTEXE)\pscde11p.exe \
$(DESTEXE)\psfou91p.exe \
$(DESTEXE)\psinv02p.exe \
$(DESTEXE)\psinv09p.exe \
$(DESTEXE)\psinv12p.exe \
$(DESTEXE)\psinv14p.exe \
$(DESTEXE)\psinv15p.exe \
$(DESTEXE)\psinv21p.exe \
$(DESTEXE)\psinv90p.exe \
$(DESTEXE)\psinv91p.exe \
$(DESTEXE)\pssto06p.exe \
$(DESTEXE)\pssto31p.exe
nah, saat pertama kali saya coba compile All, ternyata selalu error, ternyata penyebabnya adalah adanya spasi setelah tanda \. So inget, hilangkan tanda space setelah tanda \
Compile Pro*c Melalui EditPlus
1. Buka Menu Tools --> Configure User Tools
2. Buat GroupName baru, dan Add Tools
3. Ketik di bagian command %MSVCPP_HOME%\bin\nmake /f makent_fop.lst /nologo /b
4. Ketik di bagian argument %PC_SRC%\specif\exe\$(FileNameNoExt).exe
5. Ketik di bagian Initial Directory %PC_SRC%\specif\makefile
Ingat setting di environment variable sbb :
MSVCPP_HOME=C:\Progra~1\micros~3\Vc98 (seperti di dalam envt.bat) (menggunakan metode penamaan 8 karakter)
PC_SRC=C:\GOLD\Development\Apollo\pc_source
2. Buat GroupName baru, dan Add Tools
3. Ketik di bagian command %MSVCPP_HOME%\bin\nmake /f makent_fop.lst /nologo /b
4. Ketik di bagian argument %PC_SRC%\specif\exe\$(FileNameNoExt).exe
5. Ketik di bagian Initial Directory %PC_SRC%\specif\makefile
Ingat setting di environment variable sbb :
MSVCPP_HOME=C:\Progra~1\micros~3\Vc98 (seperti di dalam envt.bat) (menggunakan metode penamaan 8 karakter)
PC_SRC=C:\GOLD\Development\Apollo\pc_source
Creating and Compiling Report
1. Buat Program pro*c (letakkan di dalam pc )
2. Buat XML Model (letakkan di dalam pc\modeles)
3. Jalankan program pro*c sekali saja untuk menghasilkan xml data.
4. Buat folder fo dibawah folder pc jika belum ada.
5. Buat folder pdf sejajar dengan folder pc
6. jalankan script dibawah ini
@echo off
set ORACLE_USER=refcesh/refcesh
set GOLD_APP=ERETAIL
set BIN=C:\GOLD\Development\Apollo\pc_source\standard\exe
set FO_BIN=C:\GOLD\Production\Apollo\Cen506\bin\FOP
set BIN_SPEC=C:\GOLD\Development\Apollo\pc_source\specif\exe
set XML_MODEL=C:\GOLD\Development\Apollo\pc_source\specif\pc\modeles
set FO_DEST=C:\GOLD\Development\Apollo\pc_source\specif\pc\fo
set PDF=C:\GOLD\Development\Apollo\pc_source\specif\pdf
echo *************************************
echo USAGE : make_report.cmd {XML Model} {XML Data} {fo File} {PDF result }
echo *************************************
%BIN%\genrpt.exe %ORACLE_USER% %GOLD_APP% %XML_MODEL%\%1 %BIN_SPEC%\%2 %FO_DEST%\%3 PDF 50 GB
%FO_BIN%\fop.cmd fop.0. %ORACLE_USER% -q -c noconfig %FO_DEST%\%3 -pdf %PDF%\%4 GB
Jika terjadi problem check di script batch di fo.cmd juga.
2. Buat XML Model (letakkan di dalam pc\modeles)
3. Jalankan program pro*c sekali saja untuk menghasilkan xml data.
4. Buat folder fo dibawah folder pc jika belum ada.
5. Buat folder pdf sejajar dengan folder pc
6. jalankan script dibawah ini
@echo off
set ORACLE_USER=refcesh/refcesh
set GOLD_APP=ERETAIL
set BIN=C:\GOLD\Development\Apollo\pc_source\standard\exe
set FO_BIN=C:\GOLD\Production\Apollo\Cen506\bin\FOP
set BIN_SPEC=C:\GOLD\Development\Apollo\pc_source\specif\exe
set XML_MODEL=C:\GOLD\Development\Apollo\pc_source\specif\pc\modeles
set FO_DEST=C:\GOLD\Development\Apollo\pc_source\specif\pc\fo
set PDF=C:\GOLD\Development\Apollo\pc_source\specif\pdf
echo *************************************
echo USAGE : make_report.cmd {XML Model} {XML Data} {fo File} {PDF result }
echo *************************************
%BIN%\genrpt.exe %ORACLE_USER% %GOLD_APP% %XML_MODEL%\%1 %BIN_SPEC%\%2 %FO_DEST%\%3 PDF 50 GB
%FO_BIN%\fop.cmd fop.0. %ORACLE_USER% -q -c noconfig %FO_DEST%\%3 -pdf %PDF%\%4 GB
Jika terjadi problem check di script batch di fo.cmd juga.
Compile Specif Pro*c
Nah karena antara pro*c default dengan proc*c specif terpisah maka kita harus melakukan bbrp perubahan agar proses compile berhasil :
1. Buka file comp_fop.bat
Ubah line spt berikut dibawah ini :
call c:\gold\develo~1\apollo\pc_sou~1\specif\makefile\envnt.bat
2. Buka file envnt.bat
Ubah line spt berikut dibawah ini :
set BIN=C:\GOLD\develo~1\apollo\pc_sou~1\specif\exe
set MSDevDir=C:\Progra~1\micros~3\Common
set MSVCPP_HOME=C:\Progra~1\micros~3\Vc98
set ORACLE_HOME=C:\oracle\product\10.2.0\db_1
set PATH=%PATH%;%MSDevDir%\bin;%MSVCPP_HOME%\bin\;%MSDevDir%\IDE
set include=%MSVCPP_HOME%\include;%MSVCPP_HOME%\atlmfc\include;%MSVCPP_HOME%\include;
set lib=%MSVCPP_HOME%\lib;%lib%
3. Buka file makent_fop.list
Ubah line spt berikut dibawah ini :
ORACLE_HOME=C:\oracle\product\10.2.0\db_1
BIN = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\exe
INC = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\inc
LIB = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\lib
OBJ = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\lib\temp
TEMP = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\lib\temp
SRC_C = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
SRC_G = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
SRC_I = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
SRC_E = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
SRC_S = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
ORAINC = $(ORACLE_HOME)\precomp\public
ORALIB = $(ORACLE_HOME)\lib
XMLINC = $(ORACLE_HOME)\xdk\include
DESTLIB = $(LIB)
DESTEXE = $(BIN)
DESTOBJ = $(OBJ)
OBJECTDIR=$(BIN)
USERID=refcesh/refcesh
SYSTID=system/ingsun
Kemudian masukkan block program untuk melakukan compile pro*c specif, seperti dibawah ini :
#-----------------------------------------------------------------------------#
# Programmes d'édition STANDARDS fait avec FOP
#-----------------------------------------------------------------------------#
APOLLO_FOP = $(DESTEXE)\apsha01p.exe \
$(DESTEXE)\appos12p.exe
APOLLO_FOP : $(APOLLO_FOP)
TPX_FOP = $(APOLLO_FOP)
$(TPX_FOP) : $(SRC_G)\$$(*B).pc $(DEPBASE) $(LIBGEN) $(LIBSTI) $(LIBLOC) $(LIBLOG) $(LIBTOP) $(LIBMLB)
echo ICI
@echo "pc -> exe" $(@F)
$(PCC) $(PROC_FLG) COMP_CHARSET=MULTI_BYTE iname=$(SRC_G)\$(*B).pc oname=$(TEMP)\$(*B).c lname=$(TEMP)/$(*B).lis
$(CC) $(CC_FLG) $(TEMP)\$(*B).c /Fo$(TEMP)\$(*B).obj
$(LINK) $(LINK_FLG) $(LIBGOLD) $(LIBMASTER) $(LIBDIV1) $(LIBCDF) $(LIBGEN) $(LIBGCF1) $(LIBSTI) $(LIBRAO) $(LIBPRX) $(LIBLOC) $(LIBLOG) $(LIBTOP) $(LIBMLB) $(TEMP)\$(*B).obj /out:$@
@if exist $(*B).maq del $(*B).maq
@if exist $(TEMP)\_$(*B).pc del $(TEMP)\_$(*B).pc
@if exist $(TEMP)\$(*B).err del $(TEMP)\$(*B).err
@if exist $(TEMP)\$(*B).lis del $(TEMP)\$(*B).lis
@if exist $(*B).i del $(*B).i
@if exist $(TEMP)\$(*B).c del $(TEMP)\$(*B).c
@if exist $(TEMP)\$(*B).obj del $(TEMP)\$(*B).obj
#-----------------------------------------------------------------------------#
EDITXML : $(TPX_FOP)
@echo Toutes les EDITIONS FOP sont a jour
4. Setelah semua perubahan di save, silahkan compile pro*c dengan format contoh : comp_fop %BIN%\appos12p.exe
1. Buka file comp_fop.bat
Ubah line spt berikut dibawah ini :
call c:\gold\develo~1\apollo\pc_sou~1\specif\makefile\envnt.bat
2. Buka file envnt.bat
Ubah line spt berikut dibawah ini :
set BIN=C:\GOLD\develo~1\apollo\pc_sou~1\specif\exe
set MSDevDir=C:\Progra~1\micros~3\Common
set MSVCPP_HOME=C:\Progra~1\micros~3\Vc98
set ORACLE_HOME=C:\oracle\product\10.2.0\db_1
set PATH=%PATH%;%MSDevDir%\bin;%MSVCPP_HOME%\bin\;%MSDevDir%\IDE
set include=%MSVCPP_HOME%\include;%MSVCPP_HOME%\atlmfc\include;%MSVCPP_HOME%\include;
set lib=%MSVCPP_HOME%\lib;%lib%
3. Buka file makent_fop.list
Ubah line spt berikut dibawah ini :
ORACLE_HOME=C:\oracle\product\10.2.0\db_1
BIN = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\exe
INC = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\inc
LIB = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\lib
OBJ = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\lib\temp
TEMP = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\lib\temp
SRC_C = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
SRC_G = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
SRC_I = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
SRC_E = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
SRC_S = C:\GOLD\Develo~1\Apollo\pc_sou~1\specif\pc
ORAINC = $(ORACLE_HOME)\precomp\public
ORALIB = $(ORACLE_HOME)\lib
XMLINC = $(ORACLE_HOME)\xdk\include
DESTLIB = $(LIB)
DESTEXE = $(BIN)
DESTOBJ = $(OBJ)
OBJECTDIR=$(BIN)
USERID=refcesh/refcesh
SYSTID=system/ingsun
Kemudian masukkan block program untuk melakukan compile pro*c specif, seperti dibawah ini :
#-----------------------------------------------------------------------------#
# Programmes d'édition STANDARDS fait avec FOP
#-----------------------------------------------------------------------------#
APOLLO_FOP = $(DESTEXE)\apsha01p.exe \
$(DESTEXE)\appos12p.exe
APOLLO_FOP : $(APOLLO_FOP)
TPX_FOP = $(APOLLO_FOP)
$(TPX_FOP) : $(SRC_G)\$$(*B).pc $(DEPBASE) $(LIBGEN) $(LIBSTI) $(LIBLOC) $(LIBLOG) $(LIBTOP) $(LIBMLB)
echo ICI
@echo "pc -> exe" $(@F)
$(PCC) $(PROC_FLG) COMP_CHARSET=MULTI_BYTE iname=$(SRC_G)\$(*B).pc oname=$(TEMP)\$(*B).c lname=$(TEMP)/$(*B).lis
$(CC) $(CC_FLG) $(TEMP)\$(*B).c /Fo$(TEMP)\$(*B).obj
$(LINK) $(LINK_FLG) $(LIBGOLD) $(LIBMASTER) $(LIBDIV1) $(LIBCDF) $(LIBGEN) $(LIBGCF1) $(LIBSTI) $(LIBRAO) $(LIBPRX) $(LIBLOC) $(LIBLOG) $(LIBTOP) $(LIBMLB) $(TEMP)\$(*B).obj /out:$@
@if exist $(*B).maq del $(*B).maq
@if exist $(TEMP)\_$(*B).pc del $(TEMP)\_$(*B).pc
@if exist $(TEMP)\$(*B).err del $(TEMP)\$(*B).err
@if exist $(TEMP)\$(*B).lis del $(TEMP)\$(*B).lis
@if exist $(*B).i del $(*B).i
@if exist $(TEMP)\$(*B).c del $(TEMP)\$(*B).c
@if exist $(TEMP)\$(*B).obj del $(TEMP)\$(*B).obj
#-----------------------------------------------------------------------------#
EDITXML : $(TPX_FOP)
@echo Toutes les EDITIONS FOP sont a jour
4. Setelah semua perubahan di save, silahkan compile pro*c dengan format contoh : comp_fop %BIN%\appos12p.exe
Setting Compile Pro*c
1. Install Visual Studio C++ (Mikocok product)
2. Ada 2 bagian di dalam compile pro*c :
1. Untuk pro*c proses
2. Untuk pro*c printing
3. Dikarenakan compile pro*c ini dipastikan kita melakukan modify maka,sebaiknya dipisahkan antara folder standard aldata dan perubahan kita (specific)
Contoh ini menggunakan folder C:\GOLD\Development\Apollo\pc_source
/pc_source
standard
exe
inc
lib
makefile
patch-level
pc
specif
exe
inc
lib
makefile
patch-level
pc
4. buka folder makefile
5. modify file envnt.bat
Ubah spt contoh berikut ini
set BIN=C:\GOLD\develo~1\apollo\pc_sou~1\standard\exe
set MSDevDir=C:\Progra~1\micros~3\Common
set MSVCPP_HOME=C:\Progra~1\micros~3\Vc98
set ORACLE_HOME=C:\oracle\product\10.2.0\db_1
set PATH=%PATH%;%MSDevDir%\bin;%MSVCPP_HOME%\bin\;%MSDevDir%\IDE
set include=%MSVCPP_HOME%\include;%MSVCPP_HOME%\atlmfc\include;%MSVCPP_HOME%\include;
set lib=%MSVCPP_HOME%\lib;%lib%
Perhatikan benar-benar setting diatas.
6. modify file makent.lst
Ubah spt contoh berikut ini
ORACLE_HOME=C:\oracle\product\10.2.0\db_1
BIN = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\exe
INC = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\inc
LIB = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\lib
OBJ = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\lib\temp
TEMP = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\lib\temp
SRC_C = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
SRC_G = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
SRC_I = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
SRC_E = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
SRC_S = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
PROC_LIB = $(ORACLE_HOME)\PRECOMP\lib\orasql10.lib
XML_LIB = $(ORACLE_HOME)\lib\oraxml10.lib
CC_LIB = $(MSVCPP_HOME)\lib\wsock32.lib
7. modify file comp.bat
Ubah spt contoh berikut ini
call c:\gold\develo~1\apollo\pc_sou~1\standard\makefile\envnt.bat
8. masuk command prompt, dan coba lakukan compile all semua pc standard, dengan perintah comp %BIN% ALL
9. Untuk yang specif, lakukan hal yang sama untuk pengaturan settingnya, sedangkan untuk lebih detail yang harus ditambahkan silahkan baca posting blog saya berikutnya
2. Ada 2 bagian di dalam compile pro*c :
1. Untuk pro*c proses
2. Untuk pro*c printing
3. Dikarenakan compile pro*c ini dipastikan kita melakukan modify maka,sebaiknya dipisahkan antara folder standard aldata dan perubahan kita (specific)
Contoh ini menggunakan folder C:\GOLD\Development\Apollo\pc_source
/pc_source
standard
exe
inc
lib
makefile
patch-level
pc
specif
exe
inc
lib
makefile
patch-level
pc
4. buka folder makefile
5. modify file envnt.bat
Ubah spt contoh berikut ini
set BIN=C:\GOLD\develo~1\apollo\pc_sou~1\standard\exe
set MSDevDir=C:\Progra~1\micros~3\Common
set MSVCPP_HOME=C:\Progra~1\micros~3\Vc98
set ORACLE_HOME=C:\oracle\product\10.2.0\db_1
set PATH=%PATH%;%MSDevDir%\bin;%MSVCPP_HOME%\bin\;%MSDevDir%\IDE
set include=%MSVCPP_HOME%\include;%MSVCPP_HOME%\atlmfc\include;%MSVCPP_HOME%\include;
set lib=%MSVCPP_HOME%\lib;%lib%
Perhatikan benar-benar setting diatas.
6. modify file makent.lst
Ubah spt contoh berikut ini
ORACLE_HOME=C:\oracle\product\10.2.0\db_1
BIN = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\exe
INC = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\inc
LIB = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\lib
OBJ = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\lib\temp
TEMP = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\lib\temp
SRC_C = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
SRC_G = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
SRC_I = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
SRC_E = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
SRC_S = C:\GOLD\Develo~1\Apollo\pc_sou~1\standard\pc
PROC_LIB = $(ORACLE_HOME)\PRECOMP\lib\orasql10.lib
XML_LIB = $(ORACLE_HOME)\lib\oraxml10.lib
CC_LIB = $(MSVCPP_HOME)\lib\wsock32.lib
7. modify file comp.bat
Ubah spt contoh berikut ini
call c:\gold\develo~1\apollo\pc_sou~1\standard\makefile\envnt.bat
8. masuk command prompt, dan coba lakukan compile all semua pc standard, dengan perintah comp %BIN% ALL
9. Untuk yang specif, lakukan hal yang sama untuk pengaturan settingnya, sedangkan untuk lebih detail yang harus ditambahkan silahkan baca posting blog saya berikutnya
Subscribe to:
Comments (Atom)
